Parcourez rapidement une table

Une des frustrations lorsque l'on travaille sur une table avec de nombreuses colonnes, est de pouvoir rapidement se déplacer d'une colonne à une autre.

Voici un petit code qui va prendre deux minutes à installer et qui peut vous rendre de grands services.

Vous pouvez télécharger ici le fichier.

Voici la procédure en vidéo :

Procédure détailllée

  • Ouvrez le fichier excel (sauvegardé en .xlsm pour avoir les macros)
  • Ajoutez un userform
  • Ajouter une listbox
  • Dans la fenêtre propriété (touche F4), renommez l'userform (ufDeplacement) et la listbox (ListBoxColonnes)
  • Clic droit sur l'userform pour accéder au code
  • Collez le code ci-dessous :
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
 
Private Sub ListBoxColonnes_Click()
    Application.Goto Cells(ActiveCell.Row, _
        ActiveSheet.ListObjects("Tableau1").HeaderRowRange.Column + _
        Me.ListBoxColonnes.ListIndex), True
End Sub
 
Private Sub UserForm_Initialize()
Me.ListBoxColonnes.List = _
    Application.WorksheetFunction.Transpose( _
        ActiveSheet.ListObjects("Tableau1").HeaderRowRange)
End Sub
  • Finalement, insérez un nouveau module et collez le code suivant pour lancer l'userform
1
2
3
Sub AfficherufDeplacement()
    ufDeplacement.Show
End Sub

Validation personnalisée de données et application à FormXL Pro

Voici trois courtes vidéos sur des validations plus ou moins complexes et comment ajouter une saisie obligatoire.

Saisie obligatoire sans condition

il s'agit ajouter une validation de données de type

=D2<>""

Il faut aussi décocher Ignorer si vide

Saisie obligatoire avec condition

On ajoute aussi une validation de données, mais avec une formule SI qui va tester si le produit est "P1":

=SI(C2="P1";D2<>"";VRAI)

Il faut aussi décocher "Ignorer si vide".

Saisie impossible si condition

Voici une variante sur le même type de formule. Ici, on veut rendre la saisie impossible si la valeur du produit est "P2".

On utilise la formule :

=SI(C2="P2";E2="";VRAI)

Il faut aussi décocher "Ignorer si vide".