
Envoyé par
moimeme67
Merci pour le retour . Mais étant novice

, cela m'est pas très clairs. Comment dans mon cas programmer cela avec des references explicites ?
Merci encore pour votre support.
Tous d'abord, la propriété ThisWorkbook retourne une référence vers le classeur contenant le code.
Ensuite, l'objet Workbook contient une collection Worksheets (au pluriel) contient des références (de type Worksheet) vers les feuilles du classeur.
Enfin, l'objet Worksheet contient la propriété Range() permettant de référencer les cellules.
Pour référencer explicitement des cellules, il te faut référencer le classeur, la feuille et la cellule (cela s'appelle respecter la parentalité des objets), et il y a plusieurs façon de faire.
(Pour les exemples qui suivent, je suppose que l'on essaie d'atteindre la cellule "B6" de la feuille "Calcul")
1) Déréférencer le chemin complet:
ThisWorkbook.Worksheets("Calcul").Range("B6").Value = ...
C'est très barbare, et à force, c'est pénible.
2) Utiliser le l'instruction With:
1 2 3
| With ThisWorkbook.Worksheets("Calcul")
.Range("B6").Value = ...
End With |
3)Utiliser des variables intermédiaires:
1 2 3 4 5 6 7 8 9
| Dim Wb As Excel.Workbook
Set Wb = ThisWorkbook '// Reference vers le classeur
Dim Ws As Excel.Worksheet
Set Ws = Wb.Worksheets("Calcul") '// Reference vers la feuille
Dim Rng As Excel.Range
Set Rng = Ws.Range("B6") '// Reference vers la cellule
Rng.Value = ... |
Partager