Fonction VBA separation de données

wuhrlinanthony Messages postés 57 Statut Membre -  
wuhrlinanthony Messages postés 57 Statut Membre -
Bonjour,

J'essaye éperdument de trouver une manière d'extraire des données d'une cellule pour les importer dans des cellules séparer mais sans succès.

Voila mon problème : J'ai une cellule qui est rempli d'un chiffre puis d'un mot et encore d'un chiffre puis un mot etc.

Et je veux exporter les chiffres dans une colonne (avec chaque chiffre sur une ligne) et les mots dans la colonne d'a coté (avec chaque mot sur une ligne).

J'ai trouver des fonctions Excel mais que pour deux mots .

Y-a-t 'il la possibilité de réaliser un code vba qui donne une fonction qui me permettrai de faire cela car j'ai beaucoup de cellule a extraire.

Je vous joins un fichier excel de façon que ce soit plus compréhensibles.

https://www.cjoint.com/c/EHfmsS4i8LU

Merci d'avance.

6 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    essaies cette macro paramétrée
    Option Explicit
    '-----------
    Sub xxxx()
    Application.ScreenUpdating = False
    separer_mot_nombre "B3", 3, 3, 4
    End Sub
    '-------------
    Sub separer_mot_nombre(adresse, Lig, Col_nbre, Col_mot)
    Dim Separe, Cptr As Integer
    With ActiveSheet
    Separe = Split(Range(adresse))
    For Cptr = 0 To UBound(Separe)
    If IsNumeric(Separe(Cptr)) Then
    .Cells(Lig, Col_nbre) = Separe(Cptr)
    Else
    .Cells(Lig, Col_mot) = Separe(Cptr)
    Lig = Lig + 1
    End If
    Next
    End With

    End Sub


    Michel
    0
    1. wuhrlinanthony Messages postés 57 Statut Membre
       
      Merci , mais ta macro me décale une ligne sur deux les mots et chiffres
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Je viens de rectifier
      la macro paramétrée permet de traiter plusieurs cellules
      0
    3. wuhrlinanthony Messages postés 57 Statut Membre > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Tu pourrais me renvoyer ta macro avec la réctif que tu as fait pour enlever le décalage de 2 lignes a chaque fois ?

      Merci
      0
    4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

      michel a édité son post 1 à 15:15
      eric
      0
    5. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      wuhr... etc....Y
      excuses moi d'avoir voulu essayer de t'aider...
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Un début de réponse, du moins avec ce que j'ai compris
    http://www.cjoint.com/c/EHfnhjTMOII

    Cdlmnt
    0
    1. wuhrlinanthony Messages postés 57 Statut Membre
       
      Merci , c'est exactement ce que je voulais.

      Est-ce qu'il y a une possibilité de passer la macro en fonction ? Car j'ai beaucoup de cellule où je dois réaliser la même manip.

      Merci
      0
  3. wuhrlinanthony Messages postés 57 Statut Membre
     
    Merci ccm81 , c'est exactement ce que je voulais.

    Est-ce qu'il y a une possibilité de passer la macro en fonction ? Car j'ai beaucoup de cellule où je dois réaliser la même manip.

    Merci
    0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    1. Est-ce qu'il y a une possibilité de passer la macro en fonction ? Car j'ai beaucoup de cellule où je dois réaliser la même manip.
    Je ne pense pas que ce soit possible, une fonction renvoie UN résultat
    Par contre, pour appliquer à plusieurs cellules, il faut plus de précision sur
    - la plage à traiter (est elle constituée de cellules consécutives, en ligne, en colonne, les deux
    - la plage résultat : une plage par cellule, tous les résultats en une seule plage,
    - etc ...
    Le mieux serait d'avoir un bout de fichier montrant la configuration des données à traiter et des résultats attendus
    2. As tu essayé la macro de Michel (salut à toi au passage) qui traite déjà plusieurs cellules
    Cdlmn
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Il est possible de faire pas mal de choses, encore faut il savoir quoi, comment, etc ...
    Sans un bout de fichier significatif, je ne pense pas pourvoir t'aider

    Cdlmnt
    0
  7. wuhrlinanthony Messages postés 57 Statut Membre
     
    Si on ne peut pas passer la macro en fonction , est ce que c'est possible d'ajouter une ligne de code pour sélectionner la cellule directement (quelque chose comme "Range ")au lieu de sélectionner la cellule manuellement ?
    -2