Modification code
Bonjour le forum, je souhaiterais modifier ce code qui m'a été fourni par LouRed et qui fonctionne très bien, mais pour une autre utilisation je voudrai qu'il ne fonctionne que pour les feuilles "Stock", "Source" et "Catalogue"; ou toutes les feuilles sauf la feuille "Mouvement".
Merci d'avance
Nonno
Sub Remplace() Dim Feuil As Worksheet, Cel As Range, ValCherche As String, ValRemplace As String ValCherche = Sheets("Stock").Range("AA11"): ValRemplace = Sheets("Stock").Range("AA14") On Error Resume Next For Each Feuil In Sheets For Each Cel In Feuil.UsedRange If Cel Like ValCherche Then Cel.Value = ValRemplace End If Next Cel Next Feuil End Sub
Bonjour Nonno
Comme je suis réveillé et en espérant que LouReed (que je salue
Sub RemplaceInclure()
' Uniquement pour les feuilles de la liste Inclure
Const S = ";" ' séparateur de la liste des feuilles à inclure
Const Inclure = "Stock;Source;Catalogue" ' <- liste des feuilles à inclure - séparateur S
Dim NomFeuil, Cel As Range, ValCherche As String, ValRemplace As String
ValCherche = Sheets("Stock").Range("AA11")
ValRemplace = Sheets("Stock").Range("AA14")
On Error Resume Next
For Each NomFeuil In Split(Inclure, S)
For Each Cel In Worksheets(NomFeuil).UsedRange
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
Next Cel
Next NomFeuil
End Sub
Sub RemplaceExclure()
' Pour toutes les feuilles sauf les feuilles de la liste Exclure
Const S = ";" ' séparateur de la liste des feuilles à exclure
Const Exclure = "mouvement" ' <- liste des feuilles à exclure - séparateur S
Dim Feuil As Worksheet, Cel As Range, ValCherche As String, ValRemplace As String
ValCherche = Sheets("Stock").Range("AA11")
ValRemplace = Sheets("Stock").Range("AA14")
On Error Resume Next
For Each Feuil In Worksheets
If InStr(1, S & Exclure & S, S & Feuil.Name & S, vbTextCompare) = 0 Then
For Each Cel In Feuil.UsedRange
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
Next Cel
End If
Next Feuil
End SubBonjour et merci mafraise
je ne savait pas que je pouvais continuer sur le "même fil", j'espère que LouReed ne m'en voudra pas.
encore merci mafraise et désolé LouReed
Bonjour !
Non mais je plaisante !
De plus le code fourni par mafraise sur l'autre fil était plus abouti !
Passez une bonne fin de weekend !
@ bientôt
LouReeD
Bonjour
Je souhaiterais ajouter une autre feuille à exclure:"ArchivCdes", j'ai tenté plusieurs façons, sans succès.
Merci d'avance
Nonno
feuilles à exclure Const Exclure = "mouvement"
Sub RemplaceExclure()
' Pour toutes les feuilles sauf les feuilles de la liste Exclure
Const S = ";" ' séparateur de la liste des feuilles à exclure
Const Exclure = "mouvement" ' <- liste des feuilles à exclure - séparateur S
Dim Feuil As Worksheet, Cel As Range, ValCherche As String, ValRemplace As String
ValCherche = Sheets("Stock").Range("AA11")
ValRemplace = Sheets("Stock").Range("AA14")
On Error Resume Next
For Each Feuil In Worksheets
If InStr(1, S & Exclure & S, S & Feuil.Name & S, vbTextCompare) = 0 Then
For Each Cel In Feuil.UsedRange
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
Next Cel
End If
Next Feuil
End Sub
Re
Voici le code fourni dans le message #2 :
Sub RemplaceExclure()
' Pour toutes les feuilles sauf les feuilles de la liste Exclure
Const S = ";" ' séparateur de la liste des feuilles à exclure
Const Exclure = "mouvement" ' <- liste des feuilles à exclure - séparateur S
Dim Feuil As Worksheet, Cel As Range, ValCherche As String, ValRemplace As String
ValCherche = Sheets("Stock").Range("AA11")
ValRemplace = Sheets("Stock").Range("AA14")
On Error Resume Next
For Each Feuil In Worksheets
If InStr(1, S & Exclure & S, S & Feuil.Name & S, vbTextCompare) = 0 Then
For Each Cel In Feuil.UsedRange
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
Next Cel
End If
Next Feuil
End SubLa partie intéressante est :
' Pour toutes les feuilles sauf les feuilles de la liste Exclure
Const S = ";" ' séparateur de la liste des feuilles à exclure
Const Exclure = "mouvement" ' <- liste des feuilles à exclure - séparateur SJ'ai mis délibérément des commentaires.
Donc si vous voulez ajouter une feuille à exclure, vous modifiez la constante Exclure par :
Const Exclure = "mouvement;ArchivCdes" ' <- liste des feuilles à exclure - séparateur SNota : Quand on insère du code dans le texte d'un message, il faut utiliser la balise code "</>", une fenêtre s'ouvre, collez y le texte du code puis appuyer sur le bouton insérer. Exemple :
...
Merci mafraise, pour toutes ces explications.
Bonne journée
Nonno
Bonjour mafraise, je me permet de revenir directement vers vous pour ces codes que vous m'avez fournis(qui fonctionnent très bien), serait-il possible?, dans les deux cas "d'ignorer" la colonne "C", nommée "REF Fournisseurs" et qui est la 2 ème colonne du "Tableau1" de la feuille "Stock".
Cordialement
Nonno
Sub RemplaceInclure()
If Range("AB14") <> "" Then
' Uniquement pour les feuilles de la liste Inclure
Const S = ";" ' séparateur de la liste des feuilles à inclure
Const Inclure = "Stock;Source;Catalogue" ' <- liste des feuilles à inclure - séparateur S
Dim NomFeuil, Cel As Range, ValCherche As String, ValRemplace As String
ValCherche = Sheets("Stock").Range("AB11")
ValRemplace = Sheets("Stock").Range("AB14")
On Error Resume Next
For Each NomFeuil In Split(Inclure, S)
For Each Cel In Worksheets(NomFeuil).UsedRange
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
Next Cel
Next NomFeuil
Range("AB14").Select
Selection.ClearContents
Else
MsgBox "Remplacée par?"
End If
End Sub
Sub RemplaceExclure()
If Range("AB14") <> "" Then
' Pour toutes les feuilles sauf les feuilles de la liste Exclure
Const S = ";" ' séparateur de la liste des feuilles à exclure
Const Exclure = "Mouvement;ArchivCdes" ' <- liste des feuilles à exclure - séparateur S
Dim Feuil As Worksheet, Cel As Range, ValCherche As String, ValRemplace As String
ValCherche = Sheets("Stock").Range("AB11")
ValRemplace = Sheets("Stock").Range("AB14")
On Error Resume Next
For Each Feuil In Worksheets
If InStr(1, S & Exclure & S, S & Feuil.Name & S, vbTextCompare) = 0 Then
For Each Cel In Feuil.UsedRange
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
Next Cel
End If
Next Feuil
Range("AB14").Select
Selection.ClearContents
Else
MsgBox "Remplacée par?"
End If
End SubBonjour Nonno ,
Sans avoir testé puisque pas de fichier, voici un code modifié que vous devrez tester :
Sub RemplaceInclure()
' Uniquement pour les feuilles de la liste Inclure
Const S = ";" ' séparateur de la liste des feuilles à inclure
Const Inclure = "Stock;Source;Catalogue" ' <- liste des feuilles à inclure - séparateur S
Dim NomFeuil, Cel As Range, ValCherche As String, ValRemplace As String
If Range("AB14") <> "" Then
ValCherche = Sheets("Stock").Range("AB11")
ValRemplace = Sheets("Stock").Range("AB14")
On Error Resume Next
For Each NomFeuil In Split(Inclure, S)
If LCase(NomFeuil) = LCase("stock") Then
For Each Cel In Worksheets(NomFeuil).UsedRange
If Cel.Column <> [c1].Column Then
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
End If
Next Cel
Else
For Each Cel In Worksheets(NomFeuil).UsedRange
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
Next Cel
End If
Next NomFeuil
Range("AB14").Select
Selection.ClearContents
Else
MsgBox "Remplacée par ?"
End If
End Sub
Sub RemplaceExclure()
' Pour toutes les feuilles sauf les feuilles de la liste Exclure
Const S = ";" ' séparateur de la liste des feuilles à exclure
Const Exclure = "Mouvement;ArchivCdes" ' <- liste des feuilles à exclure - séparateur S
Dim Feuil As Worksheet, Cel As Range, ValCherche As String, ValRemplace As String
If Range("AB14") <> "" Then
ValCherche = Sheets("Stock").Range("AB11")
ValRemplace = Sheets("Stock").Range("AB14")
On Error Resume Next
For Each Feuil In Worksheets
If InStr(1, S & Exclure & S, S & Feuil.Name & S, vbTextCompare) = 0 Then
If LCase(Feuil.Name) = LCase("stock") Then
For Each Cel In Feuil.UsedRange
If Cel.Column <> [c1].Column Then
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
End If
Next Cel
Else
For Each Cel In Feuil.UsedRange
If Cel.Value Like ValCherche Then Cel.Value = ValRemplace
Next Cel
End If
End If
Next Feuil
Range("AB14").Select
Selection.ClearContents
Else
MsgBox "Remplacée par ?"
End If
End SubMerci Mafraise
Si tôt dit, si tôt fait! Super
Merci encore
Bonne fin de journée
Nonno
Bonjour Mafraise, encore moi!
Est-il possible? dans les 2 codes que tu m'as fournis le 17/10, d'ajouter une exclusion: exclure la colonne "X" de la feuille "Stock"
Cordialement
Nonno