Programmer sur excel

Résolu
Bonjour

j'ai un petit soucis pour recherche ce qui me bloque.
J'ai une liste de codes barres, admettons ceci :

8421440065374 3555300000016 0078257588688 0078257686124 0078257588473 0078257574896 6942138905922

seulement mon but est d'avoir une liste sur excel comme ceci :
8421440065374
3555300000016
0078257588688
0078257686124
0078257588473
0078257574896
6942138905922

Je suis sur excel 2011.
Je recherche un moyen qui permette de faire de ma ligne une liste de code barre (dont chaque code barre a sa propre cellule)
Donc je suppose qu'il faut attribuer à la case un retour à la ligne après chaque espacement, mais je ne sais pas comment.

Si vous savez comment faire, je vous remercie !

6 réponses

  1. Tu vas dans donnees-->convertir, tu choisis "espace", tu as chaque code barre dans une cellule de ligne, que tu copies -->collage special-->transpose et tes codes barres sont en colonne
    0
    1. ah j'en profite pour demander;
      quand je converti, ca me met donc tout dans chaque cellule, seulement, tous mes codes barres à 13 chiffres sont modifiés.

      Par exemple :
      3286412204251
      devient : 3,28641E+12

      0078257588688
      devient : 7,82575+10

      Meme si je met Format de cellule/ categorie texte, j'ai des codes qui commencent par 0 qui reprennent leur forme normale, mais sans les 0 au début

      7,82575+10
      devient
      78257588688

      J'ai tenté de mettre le format de cellule en mode Texte avant de faire la convertion, mais ce soucis réapparait comme s'il forcait
      0
      1. bonjour

        voila une macro pour transposer tes code barre

        si elle se trouve en A1

        Sub TransCodeBarre()
        Dim CodeBarre() As String
        Sep = " "
        L = 1
        C = 1
        Columns(1).NumberFormat = "@"
        CodeBarre = Split(Cells(L, C), Sep)
        Col = 1
        Lig = 2
        For X = LBound(CodeBarre) To UBound(CodeBarre)
        Cells(Lig, Col) = CodeBarre(X)
        Lig = Lig + 1
        Next
        End Sub

        A+
        Maurice
        0
        1. merci maurice,

          je vais utiliser ta formule qui est exactement ce que je recherchait.

          Par contre quand je créé la macro et que j'enregistre, un message m'affiche :

          Les macros visual basic seront supprimées si vous enregistrez le fichier dans ce format.
          Du coup j'enregistre tout de meme, mais en réouvrant mon fichier la macro a disparu.
          Faut il changer le format de la macro ?

          en tous cas merci a vous tous, je vais gagner du temps dans mon travail grace à ca
          0
          1. Contributeur
            Salut le Forum

            Il faut enregistrer au format .xlsm

            Classeur Excel (Prenant en charge les macros)

            Mytå
            0
          2. exact , ca fonctionne, c'est nickel !
            0
        2. Bonjour

          Tu sélectionnes des données cette solution est valable quand tes données sont dans une seule cellule. si 'est le cas applique la procédure ci-dessous.

          Tu fais

          Donnée -- convertir - largeur fixe --- suivant : les séparations se mettent automatiquement ---- deux fois suivant --- la 1er colonne est noir sélectionne Texte que pour les codes qui commencent par zéro et standard pour les autres -- terminer
          les données sont dans plusieurs colonnes
          Tu sélectionne toutes colonnes
          tu coller avec collage spécial.
          Tu sélectionne transposé

          et c'est fini .

          Cdlt
          0