Corriger une colonne à partir d'une autre

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:

Robert

XLDnaute Barbatruc
Repose en paix
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
 

JerCaz

XLDnaute Occasionnel
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!
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino