Macro pour changer du texte dans une base de données...

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 !

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais, à nouveau, votre aide à l'écriture d'une macro afin de changer du texte dans une base de données...
voir fichier

Merci pour votre aide et pour le temps que vous voudrez bien m'accorder.

Bien à vous,
Christian
 

Pièces jointes

Re : Macro pour changer du texte dans une base de données...

Bonjour Christian

Teste ceci

Code:
Sub replace()
tablo = Range("A1:F" & Range("A65536").End(xlUp).Row)
tablo1 = Range("J18:L" & Range("J65536").End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
  If InStr(tablo(n, 6), "V.H du jour") <> 0 Then
     For m = LBound(tablo1, 1) To UBound(tablo1, 1)
       If tablo1(m, 1) = tablo(n, 2) Then
         If tablo(n, 3) = "MIDI" Then
           remplace = tablo1(m, 2)
         Else
           remplace = tablo1(m, 3)
         End If
         tablo(n, 6) = remplace
        End If
     Next m
  End If
Next n
Range("A1").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
End Sub
 
Re : Macro pour changer du texte dans une base de données...

Re, le forum, pierrejean,

Merci, pierrejean, pour ton aide si précieuse.

ça fonctionne parfaitement, toutefois peux-tu faire en sorte après traitement de garder la fin du texte... :

expl :V.H de boeuf refroidie + sauce (ligne 181)
V.H de porc refroidie + sauce (ligne 506)

Merci pour le temps que tu as bien voulu m'accorder.
Bien à toi,
Christian
 
Re : Macro pour changer du texte dans une base de données...

Re

Vois comme ceci

Code:
Sub replace()
tablo = Range("A1:F" & Range("A65536").End(xlUp).Row)
tablo1 = Range("J18:L" & Range("J65536").End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
 x = InStr(tablo(n, 6), "V.H du jour")
  If x <> 0 Then
  If Len(tablo(n, 6)) > Len("V.H du jour") Then
     suite = Mid(tablo(n, 6), Len("V.H du jour"))
  Else
     suite = ""
  End If
     For m = LBound(tablo1, 1) To UBound(tablo1, 1)
       If tablo1(m, 1) = tablo(n, 2) Then
        'MsgBox (n)
         If tablo(n, 3) = "MIDI" Then
           remplace = tablo1(m, 2)
         Else
           remplace = tablo1(m, 3)
         End If
         tablo(n, 6) = remplace & suite
        End If
     Next m
  End If
Next n
Range("A1").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
End Sub
 
Re : Macro pour changer du texte dans une base de données...

Re, le forum, perrejean,

Merci, pierrejean, pour cette nouvelle macro.

C'est presque bon...en effet ça donne ça : V.H de boeufr refroidie + sauce
ou ça : V.H de porcr refroidie + sauce
à mon, humble, avis il reste le "r" de la fin du mot "jour" ?
Peux-tu me dire..

Bien à toi.
Encore merci, pierrejean.
Christian
 
Re : Macro pour changer du texte dans une base de données...

Re

Toues mes excuses pour cet a peu-pres

teste cette version un poil plus elegante

Code:
Sub remplacer()
tablo = Range("A1:F" & Range("A65536").End(xlUp).Row)
tablo1 = Range("J18:L" & Range("J65536").End(xlUp).Row)
achercher = "V.H du jour"
For n = LBound(tablo, 1) To UBound(tablo, 1)
 x = InStr(tablo(n, 6), achercher)
  If x <> 0 Then
     For m = LBound(tablo1, 1) To UBound(tablo1, 1)
       If tablo1(m, 1) = tablo(n, 2) Then
         If tablo(n, 3) = "MIDI" Then
           remplace = tablo1(m, 2)
         Else
           remplace = tablo1(m, 3)
         End If
         tablo(n, 6) = replace(tablo(n, 6), achercher, remplace)
         End If
     Next m
  End If
Next n
Range("A1").Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
End Sub
 
Re : Macro pour changer du texte dans une base de données...

Re le forum, pierrejean,

Tu me fais rire, "toutes mes excuses", c'est moi qui m'excuse pour le dérangement...

Cette nouvelle version fonctionne parfaitement.

Merci MONSIEUR pierrejean, pour ta gentillesse, tes compétences et ta fidélité à ce forum...bref tu es un des grands de ce forum.

Bien à toi,
Christian
 
- 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