Problème avec For Each

Résolu
Vikings76
Messages postés
5
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
24 avril 2009
- 22 avril 2009 à 21:55
Vikings76
Messages postés
5
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
24 avril 2009
- 23 avril 2009 à 22:33
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

Vikings

3 réponses

cnt
Messages postés
219
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
20 décembre 2010
1
22 avril 2009 à 23:57
Salut
Comme le coller est bien réel, donc VRAI, la cellule en donne le résultat. Il suffit de ne pas écrire ==> cellule.Value = cellule.Offset(0, 1).PasteSpecial

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.Offset(0, 1).PasteSpecial
        End If
    Next cellule
End Sub

CNTJC
3
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
23 avril 2009 à 08:11
en clair, PasteSpecial effectue le collage...

pas besoin de jouer avec une affectation
3
Vikings76
Messages postés
5
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
24 avril 2009

23 avril 2009 à 22:33
Un grand merci pour cette réponse rapide et précise. Et bien sûr cela fonctionne parfaitement comme voulu.
Encore merci.
De plus je crois comprendre la subtilité de mon erreur de départ.

Vikings
0