Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Domy,
Essaie ceci :
Il y a plusieurs façons de procéder ... Cette façon s'applique très bien si ton projet n'est pas énorme concernant le nombre de modules et le nombres de lignes par module...Dans le cas contraire, il y a moyen d'accélérer la procédure....
Tu dois placer cette procédure dans un module à part.
'---------------------------------- Sub ModifierUneLigneDeCode()
Dim ChaineRecherchée As String Dim ChaineRemplace As String Dim Trouver As Integer Dim I As Integer Dim Module As Object
ChaineRecherchée = "Le Texte recherché" 'à déterminer ChaineRemplace = "Le texte de remplacement" 'à déterminer
For Each Module In ActiveWorkbook.VBProject.VBComponents With Module.CodeModule 'Si le module ou est mis cette proc se nomme "Module1" 'à déterminer If Module.Name <> "Module1" Then For I = .CountOfLines To 1 Step -1 Trouver = InStr(.Lines(I, 1), ChaineRecherchée) If Trouver <> 0 Then .ReplaceLine I, Left(.Lines(I, 1) _ , Trouver - 1) & ChaineRemplace & _ Mid(.Lines(I, 1), Trouver + Len(ChaineRecherchée) _ , Len(.Lines(I, 1))) End If Next I End If End With Next Set Module = Nothing End Sub '----------------------------------
Salutations!
"Domy" a écrit dans le message de news:% Rebonjour, Peut on modifié une ligne dans une macro par une macro ??? Si oui comment Merci
Bonjour Domy,
Essaie ceci :
Il y a plusieurs façons de procéder ... Cette façon s'applique très bien si ton projet n'est pas énorme concernant le
nombre de modules et le nombres de lignes par module...Dans le cas contraire, il y a moyen d'accélérer la procédure....
Tu dois placer cette procédure dans un module à part.
'----------------------------------
Sub ModifierUneLigneDeCode()
Dim ChaineRecherchée As String
Dim ChaineRemplace As String
Dim Trouver As Integer
Dim I As Integer
Dim Module As Object
ChaineRecherchée = "Le Texte recherché" 'à déterminer
ChaineRemplace = "Le texte de remplacement" 'à déterminer
For Each Module In ActiveWorkbook.VBProject.VBComponents
With Module.CodeModule
'Si le module ou est mis cette proc se nomme "Module1" 'à déterminer
If Module.Name <> "Module1" Then
For I = .CountOfLines To 1 Step -1
Trouver = InStr(.Lines(I, 1), ChaineRecherchée)
If Trouver <> 0 Then
.ReplaceLine I, Left(.Lines(I, 1) _
, Trouver - 1) & ChaineRemplace & _
Mid(.Lines(I, 1), Trouver + Len(ChaineRecherchée) _
, Len(.Lines(I, 1)))
End If
Next I
End If
End With
Next
Set Module = Nothing
End Sub
'----------------------------------
Salutations!
"Domy" <domy.v@wanadoo.fr> a écrit dans le message de news:%230ySEvjfDHA.2252@TK2MSFTNGP12.phx.gbl...
Rebonjour,
Peut on modifié une ligne dans une macro par une macro ???
Si oui comment
Merci
Il y a plusieurs façons de procéder ... Cette façon s'applique très bien si ton projet n'est pas énorme concernant le nombre de modules et le nombres de lignes par module...Dans le cas contraire, il y a moyen d'accélérer la procédure....
Tu dois placer cette procédure dans un module à part.
'---------------------------------- Sub ModifierUneLigneDeCode()
Dim ChaineRecherchée As String Dim ChaineRemplace As String Dim Trouver As Integer Dim I As Integer Dim Module As Object
ChaineRecherchée = "Le Texte recherché" 'à déterminer ChaineRemplace = "Le texte de remplacement" 'à déterminer
For Each Module In ActiveWorkbook.VBProject.VBComponents With Module.CodeModule 'Si le module ou est mis cette proc se nomme "Module1" 'à déterminer If Module.Name <> "Module1" Then For I = .CountOfLines To 1 Step -1 Trouver = InStr(.Lines(I, 1), ChaineRecherchée) If Trouver <> 0 Then .ReplaceLine I, Left(.Lines(I, 1) _ , Trouver - 1) & ChaineRemplace & _ Mid(.Lines(I, 1), Trouver + Len(ChaineRecherchée) _ , Len(.Lines(I, 1))) End If Next I End If End With Next Set Module = Nothing End Sub '----------------------------------
Salutations!
"Domy" a écrit dans le message de news:% Rebonjour, Peut on modifié une ligne dans une macro par une macro ??? Si oui comment Merci