Copy caract. Mid(cel, InStrRev(cel, ".") + 1) autre colonne
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Mid(cel, InStrRev(cel, ".") + 1)
Bonjour. Je suis NUL en VB je commence avec Excel, les lectures sont assez ardu pour mon âge, je suis une tite-grand-mère :-)
Je trouve le résultat voulu dans un msgbox mais j'aimerais copier le résultat dans une colonne par exemple la colonne C, je n'y arrive pas. J'ai essayé plein de truc sans résultat. Voici mon microscopique code... Quelqu'un peut m'aiguiller sur un résultat possible...
P.S. Ma colonne sera toujours la A mais avec beaucoup de données variable, je veux récupérer la section des caractères après le dernier "."
Exemple que j'ai pu créer:
Sub trouveApresPoint()
Dim ResultExt As String
Dim rng As Range: Set rng = Application.Range("Feuil2!A1:A4") 'Colonne qui VARIE en longueur A1 à A100 ou A1000
Dim cel As Range
For Each cel In rng.Cells
With cel
MsgBox Mid(cel, InStrRev(cel, ".") + 1)
End With
Next cel
End Sub
Windows / Chrome 110.0.0.0
- Copy caract. Mid(cel, InStrRev(cel, ".") + 1) autre colonne
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Exact audio copy - Télécharger - Conversion & Extraction
3 réponses
Bonjour,
Testez ce code
Sub trouveApresPoint() Dim ResultExt As String Dim rng As Range Dim cel As Range Dim lig As Integer lig = 1 Set rng = Application.Range("Feuil1!A1:A3") 'Colonne qui VARIE en longueur A1 à A100 ou A1000 For Each cel In rng.Cells With cel ActiveSheet.Cells(lig, "C") = Mid(cel, InStrRev(cel, ".") + 1) lig = lig + 1 'MsgBox Mid(cel, InStrRev(cel, ".") + 1) End With Next cel End Sub
bonjour,
suggestion:
Sub trouveApresPoint() Dim rng As Range, cel As Range Set rng = Application.Range("Feuil2!A1:A4") 'Colonne qui VARIE en longueur A1 à A100 ou A1000 For Each cel In rng cel.offset(,2) = Mid(cel, InStrRev(cel, ".") + 1) Next cel End Sub
offset(,2) "glisse" vers la cellule 2 colonnes plus à droite
Bonjour. Ça bloquait à
Set rng = Application.Range("Feuil1!A1:A4")
mais après qq réflexion j'ai enlevé le mot Feuil1!
et c'est réglé, vous êtes formidable, merci beaucoup, depuis près de deux semaines que je cherchais une solution. ;-)
yully
P.S. Je ne suis pas familière avec les groupes d'aide je vais essayé de trouver la façon de fermer cette discussion.
Merci. Merveilleux. Faut juste que j'enlève le mot Feuil1! pour que ça fonctionne (?), m'enfin très bien.