Corriger une colonne à partir d'une autre

  • Initiateur de la discussion Initiateur de la discussion JerCaz
  • 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 !

JerCaz

XLDnaute Occasionnel
Vérifier une colonne pour en corriger une autre, en VBA

Bonjour,

pas très à l'aise en VBA, j'ai réalisé une petite application où j'ai dans ma colonne T à partir d'une ligne choisie par l'utilisateur, des références, et à chaque fois que je trouve ces références en T, je veux inscrire dans la colonne C correspondante un code:
- quand je trouve MED0.01 dans la colonne T, je veux écrire sur la même ligne, mais dans la colonne C, 3211
- qiuand je trouve MED0.02 dans la colonne T, je veux écrire sur la même ligne, mais dans la colonne C, 3212

J'ai donc réalisé dans un premier temps ce code:
Code:
Sub verifierchanger()
    Ligne = InputBox("veuillez donner le numéro de la 1ere ligne à traiter", "LOC VERS UF", 1, 200, 100)
    
    If Range("T" & Ligne & ":T65000").Value = "MED0.01" Then Range("C" & Ligne & ":C65000") = "3211"
    If Range("T" & Ligne & ":T65000").Value = "MED0.02" Then Range("C" & Ligne & ":C65000") = "3212"
End Sub

mais j'ai un message d'erreur "incompatibilité de type".

J'ai donc essayé cet autre code:
Code:
Sub verifierchanger()

    Ligne = InputBox("veuillez donner le numéro de la 1ere ligne à traiter", "LOC VERS UF", 1, 200, 100)
    Set cellule = Range("T" & Ligne & ":T65000").Find(what:="MED0.01", LookIn:=xlValues, lookat:=xlWhole)
If cellule Is Nothing Then
    MsgBox "Référence non trouvée!!!"
Else
    cellule.Offset(0, -17).Value = "3211"
End If
   Set cellule = Range("T" & Ligne & ":T65000").Find(what:="MED0.02", LookIn:=xlValues, lookat:=xlWhole)
If cellule Is Nothing Then
    MsgBox "Référence non trouvée!!!"
Else
    cellule.Offset(0, -17).Value = "3212"
End If

End Sub

mais dès que je trouve une fois en T l'une des 2 références, ça s'arrête... Or, je peux trouver une deuxième fois al même référence en T quelques lignes plus bas...

Une bonne âme pourrait-elle me dépanner?
Merci beaucoup par avance pour l'aide que vous pourrez m'apporter.

Enfin, je poste depuis ma connexion sur mon lieu de travail, je ne peux donc pas utiliser l'hébergeur du forum, je suis obligé d'en utiliser un alternatif...
De même, je ne peux pas télécharger de fichiers zippés...
Désolé pour cette légère dérive de la charte du forum...

Voir le Fichier : jayet.xls
 
Dernière édition:
Re : Corriger une colonne à partir d'une autre

Bonjour JerCaz, bonjour le forum,

Peut-être comme ça :
Code:
Sub verifierchanger()
Dim x As Long
ligne = InputBox("veuillez donner le numéro de la 1ere ligne à traiter", "LOC VERS UF", 1, 200, 100)
For x = ligne To Range("C65536").End(xlUp).Row 'à adapter...
    If Cells(x, 20).Value = "MED0.01" Then Cells(x, 3).Value = "3211"
    If Cells(x, 20).Value = "MED0.02" Then Cells(x, 3).Value = "3212"
Next x
End Sub
 
Re : Corriger une colonne à partir d'une autre

Bonjour Robert, bonjour le forum,


Robert, un grand merci pour ton aide!
En remplaçant sur la ligne
Code:
For x = ligne To Range("[B]C[/B]65536").End(xlUp).Row

par

Code:
For x = ligne To Range("[B]T[/B]65536").End(xlUp).Row

cela fonctionne parfaitement.
C'est exactement ce que je cherchais!!!

Encore une fois, un très grand 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
280
Retour