Problème VB for each

Résolu/Fermé
Vikings76 Messages postés 5 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 24 avril 2009 - 22 avril 2009 à 22:01
Vikings76 Messages postés 5 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 24 avril 2009 - 24 avril 2009 à 22:05
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
A voir également:

4 réponses

Utilisateur anonyme
22 avril 2009 à 23:06
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.
0
Vikings76 Messages postés 5 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 24 avril 2009
23 avril 2009 à 22:46
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.
0
Utilisateur anonyme
23 avril 2009 à 22:56
Ah oui, j'ai mieux compris avec les explications!( tardives)

Bonne soirée
0
Vikings76 Messages postés 5 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 24 avril 2009
24 avril 2009 à 22:05
Désolé de ne pas répondre plus vite, mais j'ai d'autres choses à faire avant le "plaisir".
Merci
0