VBA Supprimer les quatre derniers caractères de milliers de cellules
12 réponses
Céline Brien
Bonjour à tous et à toutes,
Un fichier Excel 2000 avec une colonne contenant noms et numéros de
département.
Des milliers de cellules !
PAUL TALBOT 3456
LISE LATRIMOUILLE 3455
ALAIN GIROUX 2366
Je souhaite supprimer le numéro de département et les espaces après le
nom.
Merci beaucoup de votre aide,
Céline
Bonjour Michel, Merci beaucoup pour ta réponse. Effectivement, tes codes sont environ 3 fois plus rapides. J'ai noté les risques associés à ce gain de rapidité. Merci encore, Céline
"Michel Gaboly" a écrit dans le message de news:
Bonjour Céline,
Voici une variante qui devrait être encore + rapide.
Sub Nettoie() Dim c As Range For Each c In Selection c.Value = Trim(Left(c.Value, Len(c) - 5)) Next c End Sub
La raisin de la plus grande rapidité est que contrairement à la procédure de Chris, tous les caractères ne sont pas testés : pour cette raison, ma procédure est basée sur ton exemple (des espaces et 4 chiffres). Elle ne fonctionne que s'il y a au moins 5 caractères à supprimer en fin de chaîne (espaces et choffres), et pas + de 5 chiffres.
En résumé, la procédure de Chris est d'un usage + général, et celle-ci devrait être + rapide.
Bonjour Chris, Super ! Exactement ce qu'il me fallait ! De la vraie magie ! Assez rapide aussi. Environ 12 secondes pour plus de 7 000 cellules. Il me reste à étudier les codes pour les comprendre. Merci beaucoup, Céline
"ChrisV" a écrit dans le message de news:
Bonjour Céline,
Sur la plage de cellules sélectionnée...
Sub extracTxt() Dim c As Range, txT As String, i As Integer Application.ScreenUpdating = False For Each c In Selection txT = "" For i = 1 To Len(c) If Not IsNumeric(Mid(c, i, 1)) = True Then _ txT = txT & Mid(c, i, 1) Next i c.Value = Application.Trim(txT) Next c End Sub
ChrisV
"Céline Brien" a écrit dans le message
de
news:
Bonjour à tous et à toutes, Un fichier Excel 2000 avec une colonne contenant noms et numéros de
département. Des milliers de cellules ! PAUL TALBOT 3456 LISE LATRIMOUILLE 3455 ALAIN GIROUX 2366 Je souhaite supprimer le numéro de département et les espaces après
le
nom. Merci beaucoup de votre aide, Céline
-- Cordialement,
Michel Gaboly http://www.gaboly.com
-- Cordialement,
Michel Gaboly http://www.gaboly.com
De rien, Céline, c'était avec plaisir :-))
Bonjour Michel,
Merci beaucoup pour ta réponse.
Effectivement, tes codes sont environ 3 fois plus rapides.
J'ai noté les risques associés à ce gain de rapidité.
Merci encore,
Céline
"Michel Gaboly" <michel@Suppgaboly.com> a écrit dans le message de
news:4025F686.15249329@Suppgaboly.com...
Bonjour Céline,
Voici une variante qui devrait être encore + rapide.
Sub Nettoie()
Dim c As Range
For Each c In Selection
c.Value = Trim(Left(c.Value, Len(c) - 5))
Next c
End Sub
La raisin de la plus grande rapidité est que contrairement
à la procédure de Chris, tous les caractères ne sont pas testés :
pour cette raison, ma procédure est basée sur ton exemple
(des espaces et 4 chiffres). Elle ne fonctionne que s'il y a au
moins 5 caractères à supprimer en fin de chaîne (espaces
et choffres), et pas + de 5 chiffres.
En résumé, la procédure de Chris est d'un usage + général,
et celle-ci devrait être + rapide.
Bonjour Chris,
Super ! Exactement ce qu'il me fallait ! De la vraie magie !
Assez rapide aussi. Environ 12 secondes pour plus de 7 000 cellules.
Il me reste à étudier les codes pour les comprendre.
Merci beaucoup,
Céline
"ChrisV" <chrisve@wanadoo.fr> a écrit dans le message de
news:exJCOOd7DHA.2628@TK2MSFTNGP10.phx.gbl...
Bonjour Céline,
Sur la plage de cellules sélectionnée...
Sub extracTxt()
Dim c As Range, txT As String, i As Integer
Application.ScreenUpdating = False
For Each c In Selection
txT = ""
For i = 1 To Len(c)
If Not IsNumeric(Mid(c, i, 1)) = True Then _
txT = txT & Mid(c, i, 1)
Next i
c.Value = Application.Trim(txT)
Next c
End Sub
ChrisV
"Céline Brien" <celinebrien@laurentides.qc.ca> a écrit dans le
message
de
news: uK3mUFd7DHA.2168@TK2MSFTNGP12.phx.gbl...
Bonjour à tous et à toutes,
Un fichier Excel 2000 avec une colonne contenant noms et numéros
de
département.
Des milliers de cellules !
PAUL TALBOT 3456
LISE LATRIMOUILLE 3455
ALAIN GIROUX 2366
Je souhaite supprimer le numéro de département et les espaces
après
Bonjour Michel, Merci beaucoup pour ta réponse. Effectivement, tes codes sont environ 3 fois plus rapides. J'ai noté les risques associés à ce gain de rapidité. Merci encore, Céline
"Michel Gaboly" a écrit dans le message de news:
Bonjour Céline,
Voici une variante qui devrait être encore + rapide.
Sub Nettoie() Dim c As Range For Each c In Selection c.Value = Trim(Left(c.Value, Len(c) - 5)) Next c End Sub
La raisin de la plus grande rapidité est que contrairement à la procédure de Chris, tous les caractères ne sont pas testés : pour cette raison, ma procédure est basée sur ton exemple (des espaces et 4 chiffres). Elle ne fonctionne que s'il y a au moins 5 caractères à supprimer en fin de chaîne (espaces et choffres), et pas + de 5 chiffres.
En résumé, la procédure de Chris est d'un usage + général, et celle-ci devrait être + rapide.
Bonjour Chris, Super ! Exactement ce qu'il me fallait ! De la vraie magie ! Assez rapide aussi. Environ 12 secondes pour plus de 7 000 cellules. Il me reste à étudier les codes pour les comprendre. Merci beaucoup, Céline
"ChrisV" a écrit dans le message de news:
Bonjour Céline,
Sur la plage de cellules sélectionnée...
Sub extracTxt() Dim c As Range, txT As String, i As Integer Application.ScreenUpdating = False For Each c In Selection txT = "" For i = 1 To Len(c) If Not IsNumeric(Mid(c, i, 1)) = True Then _ txT = txT & Mid(c, i, 1) Next i c.Value = Application.Trim(txT) Next c End Sub
ChrisV
"Céline Brien" a écrit dans le message
de
news:
Bonjour à tous et à toutes, Un fichier Excel 2000 avec une colonne contenant noms et numéros de
département. Des milliers de cellules ! PAUL TALBOT 3456 LISE LATRIMOUILLE 3455 ALAIN GIROUX 2366 Je souhaite supprimer le numéro de département et les espaces après
le
nom. Merci beaucoup de votre aide, Céline
-- Cordialement,
Michel Gaboly http://www.gaboly.com
-- Cordialement,
Michel Gaboly http://www.gaboly.com
sabatier
finalement, ma belle rainette, un monde nous sépare : toi tu vis de tout cela et à moi ça coûte (bon, OK, je suis auvergnat, donc le moins possible, mais quand même...) ah au fait, tu vas lui la donner ton adresse à ce pauvre chrisV qui désespère de te faire passer ce qu'il faut pour te permettre de briller auprès de tes clients... bonne fin de dimanche bises baveuses, oeuf corse jps
Céline Brien a écrit:
Salut mon beau crapaud, Pour moi tout ceci n'est pas du tout inné ! Conséquemment, mes clients apprécient mes explications et les qualifient de très très claires. Bises, Céline
"sabatier" a écrit dans le message de news:
pour cela, céline, mieux vaut t'adresser à quelqu'un d'autre car chez les MVP, tout ceci est tellement inné qu'ils ont bien du mal à
expliquer
le pourquoi du comment... jps (toujours prêt, comme les scouts)
Céline Brien a écrit:
Bonjour Chris,
Il me reste à étudier les codes pour les comprendre.
finalement, ma belle rainette, un monde nous sépare : toi tu vis de tout
cela et à moi ça coûte (bon, OK, je suis auvergnat, donc le moins
possible, mais quand même...)
ah au fait, tu vas lui la donner ton adresse à ce pauvre chrisV qui
désespère de te faire passer ce qu'il faut pour te permettre de briller
auprès de tes clients...
bonne fin de dimanche
bises baveuses, oeuf corse
jps
Céline Brien a écrit:
Salut mon beau crapaud,
Pour moi tout ceci n'est pas du tout inné !
Conséquemment, mes clients apprécient mes explications et les qualifient
de très très claires.
Bises,
Céline
"sabatier" <jpsabatdelaile@wanadoo.fr> a écrit dans le message de
news:40260138.80708@wanadoo.fr...
pour cela, céline, mieux vaut t'adresser à quelqu'un d'autre car chez
les MVP, tout ceci est tellement inné qu'ils ont bien du mal à
expliquer
le pourquoi du comment...
jps (toujours prêt, comme les scouts)
Céline Brien a écrit:
Bonjour Chris,
Il me reste à étudier les codes pour les comprendre.
finalement, ma belle rainette, un monde nous sépare : toi tu vis de tout cela et à moi ça coûte (bon, OK, je suis auvergnat, donc le moins possible, mais quand même...) ah au fait, tu vas lui la donner ton adresse à ce pauvre chrisV qui désespère de te faire passer ce qu'il faut pour te permettre de briller auprès de tes clients... bonne fin de dimanche bises baveuses, oeuf corse jps
Céline Brien a écrit:
Salut mon beau crapaud, Pour moi tout ceci n'est pas du tout inné ! Conséquemment, mes clients apprécient mes explications et les qualifient de très très claires. Bises, Céline
"sabatier" a écrit dans le message de news:
pour cela, céline, mieux vaut t'adresser à quelqu'un d'autre car chez les MVP, tout ceci est tellement inné qu'ils ont bien du mal à
expliquer
le pourquoi du comment... jps (toujours prêt, comme les scouts)
Céline Brien a écrit:
Bonjour Chris,
Il me reste à étudier les codes pour les comprendre.