Séparer les composants d'un mot sur excel

Résolu
younessiam Messages postés 6 Statut Membre -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde
je travaille sur un tableau excel ,et je me demande si qq un peut m'aider par une fonction sur excel qui va me permettre de séparer les composants d'un mot par / ou .
merci infiniment

8 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonsoir
    un peu vague comme question... vous voulez passer de quoi à quoi?
    à vous lire
    crdlmnt
    0
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir

    Qu'appelles tu les "composants d'un mot" ? un mot est composé de lettres, tu veux séparer les lettres ?

    Précise ce que tu veux en donnant un exemple

    Cdlmnt

    0
  3. younessiam Messages postés 6 Statut Membre
     
    je vous remerci d'avance
    je vais réexpliquer
    j'ai une série qui commence par exepmle par ARKJDH1000000YR et qui doit se terminer par ARKJDH2000000YR
    donc j'ai introduit la fonction et j'ai incrémenter jusqu'àrriver à la dernière série
    ma question est ce qu'il ya un moyen pour introduire le symbole / entre les caractères de chaque série càd la première série devient A/R/K/J/D/H/1/0/0/0/0/0/0/Y/R jusqu'à la dernière A/R/K/J/D/H/2/0/0/0/0/0/0/Y/R

    merci infiniment
    0
  4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    Possible avec une fonction personnalisée à mettre dans l'éditeur VBA
    Faire ALT+ F111 pour ouvrir editeur puis Insertion puis Module et copier-coller le code suivant et fermer l'éditeur :
    Function sepcar(plage As Range)
    mot = plage.Value
    For n = 1 To Len(mot) * 2 Step 2
    mot = Left(mot, n) & "/" & Right(mot, Len(mot) - n)
    Next
    sepcar = Left(mot, Len(mot) - 1)
    End Function


    La fonction s'utilise comme n'importe quelle fonction Excel avec la syntaxe :
    =sepcar(adresse de la cellule du mot à decouper)

    Cdlmnt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. younessiam Messages postés 6 Statut Membre
     
    merci infiniment via55
    Je vais essayer et je vais voir si j'arriverai hhh, parce que je suis débutant en informatique

    A bientot
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Tu vas y arriver ce n'est pas sorcier
      Si jamais tu n'y arrive pas postes un exemple allégé et anonymé de ton fichier sur cjoint.com et reviens indiquer ici le lien fourni, j'appliquerai la macro à ton fichier

      Cdlmnt
      0
  7. younessiam Messages postés 6 Statut Membre
     
    Je vous remercie infiniment via55
    vous etes tres gentil
    0
  8. younessiam Messages postés 6 Statut Membre
     
    bonsoir
    vouvez vous m'envoyer un vidéo expliquant comment fonctionne une macro
    merciii
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Re

      Je ne dispose de vidéo !
      une macro est un programme que tu écris en VBA (Visual Basic) dans l'éditeur de Excel pour créer une fonction personnalisée ou des procédures qu'exécutera excel
      Voir déjà la fiche CCM qui présente l'éditeur :
      https://www.commentcamarche.net/faq/37089-vba-premiers-pas-dans-l-editeur-microsoft-visual-basic-for-applications

      Après en faisant quelques recherches sur le web tu peux trouver différents tutoriels ou exercices pour débuter

      En ce qui concerne la fonction personnalisée que j'ai créé pour ton fichier, si tu fais ALT + F11 tu ouvres l'Éditeur et tu accèdes aux lignes de la macro :

      Function sepcar(plage As Range)
      mot = plage.Value
      For n = 1 To Len(mot) * 2 Step 2
      mot = Left(mot, n) & "/" & Right(mot, Len(mot) - n)
      Next
      sepcar = Left(mot, Len(mot) - 1)
      End Function


      explications :
      La variable plage est définie comme une plage de cellules ( range) elle correspond à l'adresse de la cellule que tu rentres dans la formule =sepcar() dans la feuille
      la variable mot récupère la valeur se trouvant dans cette plage
      La boucle For Next boucle de 2 en 2 (step2) depuis 1 jusqu'à un nombre correpondant à la longueur du mot x par 2 (puisque cette longueur va doubler avec l'ajout des /)
      a chaque étape de la boucle on prend les n caractères à gauche du mot (left(mot,n)), on y ajoute un / (&"/") puis on rajoute la partie droite du mot de la longueur du mot - les n caractères de gauche (Right(mot, Len(mot) - n))
      Une fois la boucle effectuée on renvoi dans sepcar (ce qui va être affiché dans la cellule de la formule) le mot en prenant tous les caractères à gauche -1 car le dernier caractère ajouté a été un / qu'il faut donc éliminer (Left(mot, Len(mot) - 1))

      Cdlmnt
      0