Copy caract. Mid(cel, InStrRev(cel, ".") + 1) autre colonne

Fermé
yullyBrener Messages postés 6 Date d'inscription vendredi 10 mars 2023 Statut Membre Dernière intervention 25 février 2024 - 10 mars 2023 à 02:45
yg_be Messages postés 22805 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 mai 2024 - 10 mars 2023 à 15:37

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

A voir également:

3 réponses

M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 281
10 mars 2023 à 06:50

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
0
yullyBrener Messages postés 6 Date d'inscription vendredi 10 mars 2023 Statut Membre Dernière intervention 25 février 2024
10 mars 2023 à 15:01

Merci. Merveilleux. Faut juste que j'enlève le mot Feuil1! pour que ça fonctionne (?), m'enfin très bien.

0
yg_be Messages postés 22805 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 mai 2024 1 469
10 mars 2023 à 07:26

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

0
yullyBrener Messages postés 6 Date d'inscription vendredi 10 mars 2023 Statut Membre Dernière intervention 25 février 2024
10 mars 2023 à 14:56

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.

0
Kinnsernet Messages postés 1 Date d'inscription vendredi 10 mars 2023 Statut Membre Dernière intervention 10 mars 2023
10 mars 2023 à 07:39

GOOD INFORMATION 

KINNSER

0
yullyBrener Messages postés 6 Date d'inscription vendredi 10 mars 2023 Statut Membre Dernière intervention 25 février 2024
10 mars 2023 à 15:06

Oui. Très bien.

0
yg_be Messages postés 22805 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 mai 2024 1 469 > yullyBrener Messages postés 6 Date d'inscription vendredi 10 mars 2023 Statut Membre Dernière intervention 25 février 2024
10 mars 2023 à 15:37

peux-tu alors marquer la discussion comme résolue?

1