Extraction de caractères dans VBA
Résolu/Fermé
unjourjeseraiuneprodeVBA
Messages postés
3
Date d'inscription
mercredi 21 décembre 2016
Statut
Membre
Dernière intervention
21 décembre 2016
-
Modifié par unjourjeseraiuneprodeVBA le 21/12/2016 à 17:41
unjourjeseraiuneprodeVBA Messages postés 3 Date d'inscription mercredi 21 décembre 2016 Statut Membre Dernière intervention 21 décembre 2016 - 21 déc. 2016 à 19:22
unjourjeseraiuneprodeVBA Messages postés 3 Date d'inscription mercredi 21 décembre 2016 Statut Membre Dernière intervention 21 décembre 2016 - 21 déc. 2016 à 19:22
A voir également:
- Extraction de caractères dans VBA
- Caractères ascii - Guide
- Caractères spéciaux clavier azerty - Guide
- Caractères spéciaux - Guide
- Exemple de mot de passe à 8 caractères - Guide
- Caractères spéciaux mac - Guide
2 réponses
Utilisateur anonyme
Modifié par albkan le 21/12/2016 à 19:49
Modifié par albkan le 21/12/2016 à 19:49
Bonjour UnjourJSPV,
J'avais fait cet exercice pour la colonne D, avec une formule et sans macro ;
mais j'ai oublié les modifications de la colonne E ! Or effectivement, pour
cela, il vaut mieux faire une macro :
Ma macro est différente de celle de gbinforme (que je salue).
Je met la mienne en complément (pour info).
Cordialement. :)
J'avais fait cet exercice pour la colonne D, avec une formule et sans macro ;
mais j'ai oublié les modifications de la colonne E ! Or effectivement, pour
cela, il vaut mieux faire une macro :
Option Explicit Sub Essai() Application.ScreenUpdating = False Dim chn As String, lig As Long, p As Byte: lig = 2 Do While Not IsEmpty(Range("A" & lig)) If (lig + 1) Mod 3 = 0 Then chn = Range("E" & lig): p = InStr(chn, " ") Range("D" & lig) = Left$(chn, p - 1) Range("E" & lig) = Right$(chn, Len(chn) - p) End If lig = lig + 1 Loop End Sub
Ma macro est différente de celle de gbinforme (que je salue).
Je met la mienne en complément (pour info).
Cordialement. :)
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
21 déc. 2016 à 18:58
21 déc. 2016 à 18:58
Bonjour,
Tu peux essayer ceci :
Je t'ai un peu corrigé ta définition car ainsi elle passe avec toutes les versions.
Tu peux essayer ceci :
Dim DLigne As Long Dim lig As Long DLigne = GL_clients.Range("A" & Rows.Count).End(xlUp).Row For lig = 2 To DLigne If IsNumeric(Left(Cells(lig, "E"), 7)) Then Cells(lig, "D").Value = Left(Cells(lig, "E"), 7) Cells(lig, "E").Value = Mid(Cells(lig, "E"), 9) End If Next lig
Je t'ai un peu corrigé ta définition car ainsi elle passe avec toutes les versions.
unjourjeseraiuneprodeVBA
Messages postés
3
Date d'inscription
mercredi 21 décembre 2016
Statut
Membre
Dernière intervention
21 décembre 2016
21 déc. 2016 à 19:22
21 déc. 2016 à 19:22
Bonjour gbinforme,
merci beaucoup ! Ta macro fonctionne à merveilles!
Cela faisait des jours que je tournais en rond !
encore merci à toi pour ton aide !
merci beaucoup ! Ta macro fonctionne à merveilles!
Cela faisait des jours que je tournais en rond !
encore merci à toi pour ton aide !
21 déc. 2016 à 19:20
je te remercie pour ta réponse mais en fait je suis obligée de passer par une macro.
gbinforme vient de me répondre également et cela fonctionne avec la macro qu'il propose ! :)
super ce forum !! (je vais marquer résolu)
Bonne soirée