Problème VB for each
Résolu
Vikings76
Messages postés
5
Statut
Membre
-
Vikings76 Messages postés 5 Statut Membre -
Vikings76 Messages postés 5 Statut Membre -
Bonjour, tout le monde et merci pour vos réponses
Voila je suis débutant et j'ai un petit souci avec une macro For Each. En fait la macro fonctionne sauf que lorsque la condition souhaitée est trouvée, la valeur de ma cellule passe à "vrai" et donc ne garde pas sa valeur initiale. Comment faire pour remédier à cela ?
Sub essai()
Dim plage As Range, cellule As Range
Set plage = Range("a6:a9")
For Each cellule In plage
If (cellule.Value = Range("a1")) Then
Range("b1").Copy
cellule.Value = cellule.Offset(0, 1).PasteSpecial
End If
Next cellule
End Sub
Merci
Voila je suis débutant et j'ai un petit souci avec une macro For Each. En fait la macro fonctionne sauf que lorsque la condition souhaitée est trouvée, la valeur de ma cellule passe à "vrai" et donc ne garde pas sa valeur initiale. Comment faire pour remédier à cela ?
Sub essai()
Dim plage As Range, cellule As Range
Set plage = Range("a6:a9")
For Each cellule In plage
If (cellule.Value = Range("a1")) Then
Range("b1").Copy
cellule.Value = cellule.Offset(0, 1).PasteSpecial
End If
Next cellule
End Sub
Merci
A voir également:
- Problème VB for each
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Vb - Télécharger - Langages
- Idm for mac - Télécharger - Téléchargement & Transfert
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
4 réponses
Si j'ai bien compris,:
tu veux, pour chaque cellule de A6:A9, coller la valeur de la cellule B1 si la cellule Ax est égale à la cellule A1 ?
Set plage = Range("a6:a9")
For Each cellule In plage
If (cellule.Value = Range("a1")) Then
cellule.Value = Range("b1").value
End If
Next cellule
ou alors tu veux y copier un décalage de la cellule B1 (offset(0,1) soit heu! C1?
soit je n'ai pas tout compris !, (dans la mesure ou tu copies B1, tu ne pourra pas coller autre chose)
Un peu de précision pour te répondre.
tu veux, pour chaque cellule de A6:A9, coller la valeur de la cellule B1 si la cellule Ax est égale à la cellule A1 ?
Set plage = Range("a6:a9")
For Each cellule In plage
If (cellule.Value = Range("a1")) Then
cellule.Value = Range("b1").value
End If
Next cellule
ou alors tu veux y copier un décalage de la cellule B1 (offset(0,1) soit heu! C1?
soit je n'ai pas tout compris !, (dans la mesure ou tu copies B1, tu ne pourra pas coller autre chose)
Un peu de précision pour te répondre.
Merci pour ta réponse rapide. En fait j'ai la solution. Dans ma macro la ligne " cellule.Value = cellule.Offset(0, 1).PasteSpecial " il suffit que j'enlève " cellule.Value = " et j'ai le résultat que je souhaite. Pour plus de précision je veux que pour chaque cellule de A6:A9, coller la valeur de la cellule B1 si la cellule Ax est égale à la cellule A1 donc en Bx et si c'est Ay qui est égal on copie en By tout simplement. Le problème au début était que la valeur Ax ne restait pas Ax mais devenait "VRAI".
Merci.
Merci.