Fonction VBA Remplacement
Guy_L
Messages postés
199
Statut
Membre
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans une macro, j'utilise la commande suivante pour vider certaines cellules
Mon problème est que, bien que j'incrémente les feuilles dans ma macro et que j'ai bien la feuille n+x qui est sélectionné (en l'occurrence ici la feuille alpha), la sélection de cellules reste toujours sur la feuille 1 et donc ne s'exécute pas dans les autres.
Mon incrément dans le code passe de la feuille alpha à la feuille beta
Pouvez-vous me dire si c'est la syntaxe de sélection qui fait ça ?
Merci
Dans une macro, j'utilise la commande suivante pour vider certaines cellules
Application.ScreenUpdating = False
Dim DerLig As Long
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
Selection.Replace What:="motaremplacer", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
next f
Mon problème est que, bien que j'incrémente les feuilles dans ma macro et que j'ai bien la feuille n+x qui est sélectionné (en l'occurrence ici la feuille alpha), la sélection de cellules reste toujours sur la feuille 1 et donc ne s'exécute pas dans les autres.
Mon incrément dans le code passe de la feuille alpha à la feuille beta
Pouvez-vous me dire si c'est la syntaxe de sélection qui fait ça ?
Merci
Configuration: Windows / Firefox 81.0
A voir également:
- Fonction VBA Remplacement
- Remplacement coco - Accueil - Réseaux sociaux
- Coco.fr remplacement - Accueil - Réseaux sociaux
- Fonction si et - Guide
- Fonction remplacer sur word - Guide
- Fonction miroir - Guide
5 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
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
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
' 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""
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question