RechercheV en VBA
Bonsoir,
La plage définie par cette instruction est une plage dynamique. Sa largeur, exprimée en nombre de colonnes s’adapte automatiquement selon le nombre de cellules renseignées.Peux tu m'en dire plus sur la fonction DECALER
=DECALER('Tableau de Bord'!$C$5;;;;NBVAL('Tableau de Bord'!$C$5:$H$5))
Ainsi, avec les 2 classes (4E , 5A), NBVAL('Tableau de Bord'!$C$5:$H$5)) renvoie 2.
La plage correspondant à la formule est donc C5:D5.
Cela permet de ne prendre en compte que les cellules renseignées de la plage C5:H5.Quel est son intérêt ? Pourquoi ne pas avoir simplement mis
=('Tableau de Bord'!$C$5:$H$5))
Cette instruction permet de déterminer le numéro de la ligne qui suit la dernière ligne renseignée de la colonne de numéro ‘’Col’’. Cells(Rows.Count, Col) correspond à la dernière ligne dans la colonne (C65536 avec Col=3).LigneAjout = Cells(Rows.Count, Col).End(xlUp).Offset(1).Row
Cells(Rows.Count, Col).End(xlUp) correspond à la dernière cellule renseignée dans cette colonne.
Cells(Rows.Count, Col).End(xlUp).Offset(1) correspond à la cellule qui suit cette dernière cellule renseignée.
Cel est la cellule considérée dans la colonne A (n° d’ordre) de la feuille correspondant à la classe .Cells(LigneAjout, Col) = Cel.Offset(0, 2).Value
Le nom associé à ce numéro d’ordre est décalé de 2 colonnes par rapport à cette cellule, soit Cel.Offset(0, 2). On effectue donc la copie de ce nom dans la feuille ‘’Tableau de bord’’, cellule Cells(LigneAjout, Col).
A+
Merci
Je vais mettre le sujet en résolu et poser mes autres questions dans un nouveau fil