Fonction VBA Remplacement
Fermé
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
-
24 sept. 2020 à 13:07
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 - 27 sept. 2020 à 11:06
yg_be Messages postés 23352 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 27 novembre 2024 - 27 sept. 2020 à 11:06
A voir également:
- Fonction VBA Remplacement
- Fonction si et - Guide
- Coco chat remplacement - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Fonction remplacer word - Guide
- Fonction moyenne excel - Guide
5 réponses
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
Ambassadeur
1 554
24 sept. 2020 à 14:30
24 sept. 2020 à 14:30
bonjour, peux-tu utiliser les balises de code quand tu partages du code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Si tu veux voir ce qui se passe et détecter les erreurs, supprime, au moins temporairement,
et
veille à ajouter
ensuite, évite d'utiliser "Select".
suggestion:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Si tu veux voir ce qui se passe et détecter les erreurs, supprime, au moins temporairement,
Application.ScreenUpdating = False
et
On Error Resume Next
veille à ajouter
option expliciten début de module, ce qui te force à déclarer chaque variable.
ensuite, évite d'utiliser "Select".
suggestion:
Dim f As Integer, shVert As Worksheet 'On Error Resume Next For f = 1 To 2 If f = 1 Then Set shVert = Sheets("alpha") Else Set shVert = Sheets("beta") shVert.Replace What:="motaremplacer", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next f End Sub
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
24 sept. 2020 à 17:04
24 sept. 2020 à 17:04
Bonjour,
J'avais placé le sujet dans le mauvais endroit, merci de m'en excuser.
Par contre, j'avais bien mis les balises de code (d'ailleurs ça se voit puisque le code est dans un cadre).
Voici cette fois la totalité de la macro, sachant que j'ai testé les modifications sans succès hélas:
J'avais placé le sujet dans le mauvais endroit, merci de m'en excuser.
Par contre, j'avais bien mis les balises de code (d'ailleurs ça se voit puisque le code est dans un cadre).
Voici cette fois la totalité de la macro, sachant que j'ai testé les modifications sans succès hélas:
Sub Macro1() Application.ScreenUpdating = False Dim DerLig As Long Dim i As Integer, shVert As Worksheet On Error Resume Next For f = 1 To 2 If f = 1 Then Set shVert = Sheets("alpha") Else Set shVert = Sheets("beta") shVert.Select DerLig = [A100000].End(xlUp).Row 'Effacement des images Dim img As Object For Each img In shVert.Shapes img.Delete Next 'remplacement du mot "Mot1" par [vide] Selection.Replace What:="Mot1", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False 'remplacement du mot "Mot2" par [vide] Selection.Replace What:="Mot2", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False 'remplacement du mot "Mot3" par [vide] Selection.Replace What:="Mot3", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False 'remplacement du mot "Mot" par [vide] Selection.Replace What:="Mot4", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False 'remplacement du mot "Mot5" par [vide] Selection.Replace What:="Mot5", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False 'remplacement du mot "Mot6" par [vide] Selection.Replace What:="Mot6", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False 'suppression des lignes vides Range("A1:A" & DerLig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'Alignement à gauche Columns("A:A").HorizontalAlignment = xlLeft 'Ajustement colonne Columns("A:A").Columns.AutoFit Next f End Sub
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
24 sept. 2020 à 17:48
24 sept. 2020 à 17:48
tu as testé les modifications, et tu ne nous montres pas le code modifié? dommage!
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
Modifié le 24 sept. 2020 à 19:21
Modifié le 24 sept. 2020 à 19:21
' Application.ScreenUpdating = False Dim DerLig As Long, shVert As Worksheet ' On Error Resume Next For f = 1 To 2 If f = 1 Then Set shVert = Sheets("alpha") Else Set shVert = Sheets("beta") DerLig = [A100000].End(xlUp).Row 'Effacement des photos Dim img As Object For Each img In shVert.Shapes img.Delete Next 'remplacement du mot "Mot1" par [vide] shVert.Replace What:="Mot1", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False '... [etc....] Next f End Sub
la macro plante (erreur de compilation) sur "shVert.Replace What:="motaremplacer""
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
25 sept. 2020 à 11:55
25 sept. 2020 à 11:55
veille à ajouter
bizarre, j'avais testé, et j'avais été surpris que cela fonctionnait.
plutôt:
option expliciten début de module, ce qui te force à déclarer chaque variable.
bizarre, j'avais testé, et j'avais été surpris que cela fonctionnait.
plutôt:
shVert.UsedRange.Replace
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
26 sept. 2020 à 20:10
26 sept. 2020 à 20:10
avec cette version là, ça marche (y compris sans l'option explicit)
merci, ça me permet d'avancer sur mon projet ici:
https://forums.commentcamarche.net/forum/affich-36408467-extraire-une-liste-suite#p36847829
merci, ça me permet d'avancer sur mon projet ici:
https://forums.commentcamarche.net/forum/affich-36408467-extraire-une-liste-suite#p36847829
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
26 sept. 2020 à 22:02
26 sept. 2020 à 22:02
option explicitest une précaution très utile, à toujours utiliser.
peux-tu alors marquer la discussion comme résolue?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Guy_L
Messages postés
176
Date d'inscription
samedi 16 septembre 2006
Statut
Membre
Dernière intervention
20 septembre 2024
1
27 sept. 2020 à 09:27
27 sept. 2020 à 09:27
pouvez-vous m'expliquer cette option explicit ?
En quoi est-elle TRES utile, elle amène la contrainte de n'oublier aucune déclaration de variable, mais elle a sans doute d'autres implications positives qui m'échappent...
Merci
En quoi est-elle TRES utile, elle amène la contrainte de n'oublier aucune déclaration de variable, mais elle a sans doute d'autres implications positives qui m'échappent...
Merci
yg_be
Messages postés
23352
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
1 554
27 sept. 2020 à 11:06
27 sept. 2020 à 11:06
elle évite les erreurs dans les noms ou les types de variables.