[Vba] Recherche Remplacer automatisé

PhiloM@n

XLDnaute Nouveau
Bonjour à tous,

Je me suis présenté dans la section correspondate, mais je me permets de vous saluer tous à nouveau !

J'ai parcouru longuement le forum pour trouver la solution à mon problème. J'ai donc exhumé un ancien post qui correspond exactement à ma recherche :

https://www.excel-downloads.com/thr...r-des-centaines-de-donnees-en-une-fois.31866/

Or, en re-créant exactement l'exemple de ce post, j'obtient une erreur :

Erreur d'execution '9'
L'indice n'appartient pas à la selection

Je suis sur Excel 2007.

Est-ce que quelqun aurait une piste ?

Par avance merci.
 

Pièces jointes

  • Classeur1.xls
    15.5 KB · Affichages: 187
  • Classeur2.xls
    29 KB · Affichages: 180
  • Classeur1.xls
    15.5 KB · Affichages: 204
  • Classeur2.xls
    29 KB · Affichages: 189
  • Classeur1.xls
    15.5 KB · Affichages: 206
  • Classeur2.xls
    29 KB · Affichages: 184
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : [Vba] Recherche Remplacer automatisé

Bonjour,

Modifies ton code en
Code:
Sub Test()
For Each o In Range("A1:A386")
MotAngl = o.Value
MotFran = o.Offset(0, 1).Value
Workbooks([COLOR=Blue]"Classeur1.xls"[/COLOR]).Worksheets(1).Cells.Replace What:=MotAngl, Replacement:=MotFran, MatchCase:=True
Next
End Sub
Cordialement
 

PhiloM@n

XLDnaute Nouveau
Re : [Vba] Recherche Remplacer automatisé

Merci Spitnolan08 !

Cela a marché avec les fichiers de tests... je vais tenter sur mon fichier de travail maintenant.

Une question: est-il possible de faire en sorte que le fichier source ne soit pas ouvert pour lancer la séquence ?

Cela n'est pas primordial, mais ce serait confortable.

Par avance, merci.

Philo
 

PhiloM@n

XLDnaute Nouveau
Re : [Vba] Recherche Remplacer automatisé

Ca marche tout court avec mon fichier de travail ! super ! :) encore merci.

Il y a un point contraignant. Voici l'exemple

D = F
Kundenname = nom
Kunde = client

Quand je lance la traduction, j'obtient :

Kundenname = clientname
Kunde = client

Comment faire en sorte qu'il ne prennent pas en compte une séquence de caractère contenu dans un mot pour la traduire ?

J'ai trouvé des pistes avec un cas pour des changements STE en SAINTE et ST en SAINT... mais là encore je sèche.

https://www.excel-downloads.com/threads/macro-chercher-remplacer.79782/


Merci d'avance.

Philo.
 
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : [Vba] Recherche Remplacer automatisé

Bonsoir,

Je te propose la méthode Find :
Code:
Sub Test()
Dim cel As Range, o As Range
Dim MotAngl As String, MotFran As String

    For Each o In Range("A1:A386")
    MotAngl = o.Value
    MotFran = o.Offset(0, 1).Value
        With Workbooks("Classeur1").Worksheets(1).Cells
            Set cel = .Find(MotAngl, lookat:=xlWhole)
            
            If Not cel Is Nothing Then
                firstAddress = cel.Address
                Do
                    If Len(cel.Value) = Len(MotFran) Then cel.Replace What:=MotAngl, Replacement:=MotFran, MatchCase:=True
                    Set cel = .FindNext(cel)
                Loop While Not cel Is Nothing And cel.Address <> firstAddress
            End If
        End With
    Next
End Sub
Cordialement
 

Statistiques des forums

Discussions
311 715
Messages
2 081 822
Membres
101 822
dernier inscrit
holale