Prenons pour l’exemple une plage de valeur qui va de B1 à B50.
Si tu affectes cette plage à une variable, ici MaPlage.
L’opération, Vte renvoyer $B$1:$B$50
Set MaPlage = MaPlage.offset(1)
va décaler l’ensemble de la plage d’une ligne vers le bas.
L’adresse sera donc maintenant, $B$2:$B$51
Pour décaler d’une ligne vers le haut :
Set MaPlage = MaPlage.offset(-1)
Pour décaler d’une ligne vers la droite :
Set MaPlage = MaPlage.offset(,1)
Tu peux également décaler une plage verticalement et horizontalement en meme temps :
Par exemple, 5 vers le bas, 4 vers la gauche
Set MaPlage = MaPlage.offset(5,-4)
Toutes ces opérations modifient l’emplacement de la plage, mais n’en modifient pas la taille.
Pour modifier la taille de la plage, il faut utiliser
Resize(Nbr De Ligne, Nbr de Colonne)
Par exemple :
Set MaPlage = MaPlage.resize(10)
réduira la taille de la plage à 10 lignes.
L’adresse de MaPlage sera donc : $B$1:$B$10
La même opération peut être effectuée horizontalement.
donnera : $B$1:$C$50
De meme que donnera : $B$1:$K$11
Prenons maintenant comme plage de départ $B$1:$B$50, plage dans laquelle je dois effectuer ma recherche sur « USD »
Set MaPlage = Worksheets("Feuil1").Range("B1:B50")
Dans un premier temps, j’effectue ma recherche
Set Dev = MaPlage.Find("USD", LookIn:=xlValues)
Disons que la premiere valeur trouvée se situe en B6
J’effectue quelques opérations sur cette cellule, puis je veux relancer ma recherche pour trouver la valeur suivante.
Si je repends ma plage de départ la réponse sera de nouveau en B6, ce n’est pas ce que je souhaite.
Je vais donc extraire le numéro de ligne ma précedente recherche.
Je souhaite que ma recherche prenne comme point de départ les cellules situées apres cette ligne, je vais donc déplacer le début de ma plage sur cette ligne. (ici la ligne 6)
La nouvelle plage sera donc $B$6:$B$55
Hors je voulais uniquement faire des recherches juqu’a la ligne 50, donc je dois retirer 5 lignes de ma nouvelle plage.
MaPlage.Offset(k - 1).Resize(MaPlage.Rows.Count - k + 1)
Le résultat Obtenu sera donc : $B$6:$B$50
Plage sur laquelle je pourrais lancer une nouvelle fois ma recherche etc…
Partager