Macro pour modifier le contenu d'une cellule sous condition

  • Initiateur de la discussion Initiateur de la discussion JOCIL
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JOCIL

XLDnaute Nouveau
Bonjour,
Je recherche une macro pour rechercher dans une colonne, une valeur et la modifier selon qu'elle réponde ou non à deux critères.
Mais plutôt que des explications peu claires, je joints le fichier qui sera sans doute plus explicite.
Merci pour votre aide
 

Pièces jointes

Re : Macro pour modifier le contenu d'une cellule sous condition

Bonjour le fil 🙂,
Très basiquement 😛...
Code:
Sub Test()
Dim I As Integer
For I = 10 To 196
    If Range("C" & I) = "III" Then
        If Range("A" & I) = Range("A" & I - 1) And Range("D" & I) = Range("D" & I - 1) Then
            Range("C" & I) = 10
        Else
            Range("C" & I) = 9
        End If
    End If
Next I
End Sub
Bonne journée 😎
 
Re : Macro pour modifier le contenu d'une cellule sous condition

Merci à Caillou et JNP pour votre aide, .... mais ça ne marche pas.

La solution proposée par Caillou écrase toutes les valeurs de ma colonne C, or je ne veux changer que celles qui ont la valeur III. Il me faudrait donc une macro pour
1) atteindre la valeur III (édition / rechercher),
2) appliquer la formule =SI(ET(A195=A194;D195=D194;C194=10);10;9)
3) répéter cette action jusqu'à la fin de la colonne

La solution de JNP n'opère que sur une plage définie (For I = 10 to 196), or je souhaite une recherche sur toute la colonne car le nombre de lignes peut varier. En la testant, j'obtiens des valeurs 10 partout, même lorsque je devrais obtenir la valeur 9.

J'ai bien essayé de bricoler une macro à partir des 2 solutions, mais sans succès.
 
Re : Macro pour modifier le contenu d'une cellule sous condition

Re 🙂,
La solution de JNP n'opère que sur une plage définie (For I = 10 to 196), or je souhaite une recherche sur toute la colonne car le nombre de lignes peut varier. En la testant, j'obtiens des valeurs 10 partout, même lorsque je devrais obtenir la valeur 9.
Comme dit précédemment, j'avais fait très basique 🙄...
Un poil de lecture du forum t'aurais donné
Code:
For I = 10 To Range("A35000").End(xlUp).Row
Sur ton fichier test, j'obtiens aussi que des valeurs 10, mais c'est logique vu qu'il n'y a pas de cas où la ligne supérieure n'est pas identique pour la date et le nom 😕...
Mais si je change la date, c'est bien la valeur 9 qui arrive 🙄...
Bref, soit l'énoncé n'est pas bon, soit tu as du faire une erreur quelque part 🙄...
Bises 😎
 
Re : Macro pour modifier le contenu d'une cellule sous condition

Mea Culpa, j'avais effectivement omis de préciser qu'en plus de répondre aux critères de dates et noms, la valeur de la ligne supérieure devait également être de 10.
J'ai réaménagé la macro et ça marche. YES !!!
Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour