Programmer sur excel

Résolu
ickyknox Messages postés 1344 Statut Membre -  
capeo Messages postés 188 Statut Membre -
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. ddjidji59430
     
    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
  2. ickyknox Messages postés 1344 Statut Membre 48
     
    génial merci !
    0
  3. ickyknox Messages postés 1344 Statut Membre 48
     
    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
  4. Maurice
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ickyknox Messages postés 1344 Statut Membre 48
     
    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. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   957
       
      Salut le Forum

      Il faut enregistrer au format .xlsm

      Classeur Excel (Prenant en charge les macros)

      Mytå
      0
    2. ickyknox Messages postés 1344 Statut Membre 48
       
      exact , ca fonctionne, c'est nickel !
      0
  7. capeo Messages postés 188 Statut Membre
     
    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