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

yullyBrener Messages postés 6 Statut Membre -  
yg_be Messages postés 23437 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

3 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     

    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
    1. yullyBrener Messages postés 6 Statut Membre
       

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

      0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    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
    1. yullyBrener Messages postés 6 Statut Membre
       

      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
  3. Kinnsernet Messages postés 1 Statut Membre
     

    GOOD INFORMATION 

    KINNSER

    0
    1. yullyBrener Messages postés 6 Statut Membre
       

      Oui. Très bien.

      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yullyBrener Messages postés 6 Statut Membre
         

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

        1