[EXCEL] Infos colonne en ligne avec ;
Résolu
pissdrunk
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
bol-2-riz -
bol-2-riz -
Bonjour,
Je souhaiterais sous Excel pouvoir mettre des infos en colonne en ligne (100 valeurs par ligne séparées par des ";") :
Exemple :
Au départ on a dans la colonne A les infos suivantes :
Ordinateur
Voiture
Choucroutte
Frigo
Budget
Je voudrais donc obtenir : Ordinateur;Voiture;Choucroutte;Frigo;Budget
A savoir que s'il y a 245 valeurs en tout avoir 3 lignes au total (deux lignes avec 100 valeur et la dernière avec les 45 restantes...)
Je ne sais pas si je suis assez clair !
Merci en tout cas de me venir en aide !
Cordialement,
Jean.
Je souhaiterais sous Excel pouvoir mettre des infos en colonne en ligne (100 valeurs par ligne séparées par des ";") :
Exemple :
Au départ on a dans la colonne A les infos suivantes :
Ordinateur
Voiture
Choucroutte
Frigo
Budget
Je voudrais donc obtenir : Ordinateur;Voiture;Choucroutte;Frigo;Budget
A savoir que s'il y a 245 valeurs en tout avoir 3 lignes au total (deux lignes avec 100 valeur et la dernière avec les 45 restantes...)
Je ne sais pas si je suis assez clair !
Merci en tout cas de me venir en aide !
Cordialement,
Jean.
A voir également:
- [EXCEL] Infos colonne en ligne avec ;
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Formule somme excel colonne - Guide
- Partager photos en ligne - Guide
- Aller à la ligne excel - Guide
12 réponses
Re,
Si vraiment le VBA te pose problème et que tu n'as rien contre 2-3 copier/coller, tu peux tjs utiliser ce fichier (je l'utilise pour construire des listes de valeurs pour des requêtes SQL par ex....dsl pour les couleurs, mais ça correspondait aux couleurs de mon ancienne boite lol) : http://www.cijoint.fr/cjlink.php?file=cj200908/cijYFK9N8T.xls
Si vraiment le VBA te pose problème et que tu n'as rien contre 2-3 copier/coller, tu peux tjs utiliser ce fichier (je l'utilise pour construire des listes de valeurs pour des requêtes SQL par ex....dsl pour les couleurs, mais ça correspondait aux couleurs de mon ancienne boite lol) : http://www.cijoint.fr/cjlink.php?file=cj200908/cijYFK9N8T.xls
Bonjour,
Dim i,j,a,valeur as string
i=1 ‘ ta première ligne ou se trouve ta valeur
j=1 ‘ ta première colonne ou se trouve ta valeur
a=0
cells(i,j).select
do while selection <> ""
if a <=100 then
a=a+1
if valeur = then
valeur = selection
else
valeur = valeur & ";" & selection
end if
a=a+1
else
cells(1,2).select
selection = valeur
a=0
valeur =""
end if
i=i+1
cells(i,j).select
loop
Un conseil fais le par F8 et regarde si ca te convient.
Dim i,j,a,valeur as string
i=1 ‘ ta première ligne ou se trouve ta valeur
j=1 ‘ ta première colonne ou se trouve ta valeur
a=0
cells(i,j).select
do while selection <> ""
if a <=100 then
a=a+1
if valeur = then
valeur = selection
else
valeur = valeur & ";" & selection
end if
a=a+1
else
cells(1,2).select
selection = valeur
a=0
valeur =""
end if
i=i+1
cells(i,j).select
loop
Un conseil fais le par F8 et regarde si ca te convient.
Voilà une autre solution...
j'ai été moins rapide à la créer mais je te la met quand même...
Dim Ligne As String
Sub CompilLigne()
Ligne = ""
For i = 1 To 100
If Sheets(1).Cells(i, 1) <> "" Then
Ligne = Ligne & ";" & Sheets(1).Cells(i, 1)
End If
Next i
Sheets(2).Cells(1, 1) = Ligne
Ligne = ""
For i = 101 To 200
If Sheets(1).Cells(i, 1) <> "" Then
Ligne = Ligne & ";" & Sheets(1).Cells(i, 1)
End If
Next i
Sheets(2).Cells(1, 2) = Ligne
Ligne = ""
For i = 201 To 300
If Sheets(1).Cells(i, 1) <> "" Then
Ligne = Ligne & ";" & Sheets(1).Cells(i, 1)
End If
Next i
Sheets(2).Cells(1, 3) = Ligne
'... tu peux répéter autant de fois ce modèle que tu as de multiple de 100 cellules
end sub
j'ai été moins rapide à la créer mais je te la met quand même...
Dim Ligne As String
Sub CompilLigne()
Ligne = ""
For i = 1 To 100
If Sheets(1).Cells(i, 1) <> "" Then
Ligne = Ligne & ";" & Sheets(1).Cells(i, 1)
End If
Next i
Sheets(2).Cells(1, 1) = Ligne
Ligne = ""
For i = 101 To 200
If Sheets(1).Cells(i, 1) <> "" Then
Ligne = Ligne & ";" & Sheets(1).Cells(i, 1)
End If
Next i
Sheets(2).Cells(1, 2) = Ligne
Ligne = ""
For i = 201 To 300
If Sheets(1).Cells(i, 1) <> "" Then
Ligne = Ligne & ";" & Sheets(1).Cells(i, 1)
End If
Next i
Sheets(2).Cells(1, 3) = Ligne
'... tu peux répéter autant de fois ce modèle que tu as de multiple de 100 cellules
end sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
essaye qqchose comme ça:
Dim ligne as string
Sub...()
for j =1 to 65
Ligne = ""
for i = ((j-1)*100)+1 to j*100
if sheets(1).cells((i,1)<>"" then
Ligne=Ligne&";"&Sheets(1).Cells(i,1)
end if
next i
Sheets(2).cells(j,1)=Ligne
Next j
end sub
Avec ça tu devrais pouvoir faire jusqu'à 65 listes de 100 identifiants
Dim ligne as string
Sub...()
for j =1 to 65
Ligne = ""
for i = ((j-1)*100)+1 to j*100
if sheets(1).cells((i,1)<>"" then
Ligne=Ligne&";"&Sheets(1).Cells(i,1)
end if
next i
Sheets(2).cells(j,1)=Ligne
Next j
end sub
Avec ça tu devrais pouvoir faire jusqu'à 65 listes de 100 identifiants
Normalement ta liste de valeurs est à coller en B5:B405, les parametres en F4:F6 et le résultat en F2.....
Si le résultat s'affiche pas essaie de modifier la couleur du texte, c'est peut etre un pb de conversion de couleurs (fichier réalisé en Excel 2007)....
Si le résultat s'affiche pas essaie de modifier la couleur du texte, c'est peut etre un pb de conversion de couleurs (fichier réalisé en Excel 2007)....
Bonjour Mélanie et merci pour ce retour rapide !
Je ne m'y connais pas énormément en VBA...
J'ai donc ajouté un module et copié le code que tu m'as indiqué.
Faut-il auparant ajouter une ligne de type "Sub Ligne()" au début et "End Sub" à la fin ?
De plus dans le code que tu m'a donné à un moment il y a If valeur = Then faut-il mettre une valeur avant le "then" ?
Je suis embetant je sais ... :)
D'avance merci pour le coup de main !
Je ne m'y connais pas énormément en VBA...
J'ai donc ajouté un module et copié le code que tu m'as indiqué.
Faut-il auparant ajouter une ligne de type "Sub Ligne()" au début et "End Sub" à la fin ?
De plus dans le code que tu m'a donné à un moment il y a If valeur = Then faut-il mettre une valeur avant le "then" ?
Je suis embetant je sais ... :)
D'avance merci pour le coup de main !
Bonjour,
Si tu ne connais pas VBA et que tu n'as que 245 lignes, pourquoi ne pas simplement utiliser un copier/collage spécial ? Tu sélectionne tes 100 premieres cellules, ensuite tu les copie (CTRL+C ou click droit/copier), ensuite un clique droit sur ta cellule de destination/collage spécial et tu coches "Transposé".
Si tu ne connais pas VBA et que tu n'as que 245 lignes, pourquoi ne pas simplement utiliser un copier/collage spécial ? Tu sélectionne tes 100 premieres cellules, ensuite tu les copie (CTRL+C ou click droit/copier), ensuite un clique droit sur ta cellule de destination/collage spécial et tu coches "Transposé".
Hello et merci d'être autant à me répondre !
Alors pour tout vous dire je travaille sous Business Objects sur des identifiants que l'on m'adresse sous Excel (j'ai pris 245 lignes dans mon exemple mais ca peut très bien être 950 lignes...voir plus) or dans Businiess Objets, lorsque que je veux travailler sur ces identifiants je ne peux pas en mettre plus de 100 dans une même ligne.
Exemple: chaque marque de voiture a un identifiant (123 pour renault, 456 pour peugeot, 789 pour citroën)
Je vais devoir remonter pour renault et peugeot le nombre de voiture en circulation, donc dans BO il va falloir que dans les critères de la requête je fasse la chose suivante:
Identifiant_voiture DANS LISTE (123;456) et chaque identifiant doit être séparé par un ";"
La il y a que deux identifiants mais je peux avoir à en mettre plusieurs centaines or par ligne dans BO il n'en accepte que 100...c'est pour que je puisse faire des copier coller rapidement des identifiants par liste de 100...
Je sais c'est pas évident à expliquer sur le net comme ça...si je ne suis pas clair n'hésitez pas à me revenir !
Merci encore!
Alors pour tout vous dire je travaille sous Business Objects sur des identifiants que l'on m'adresse sous Excel (j'ai pris 245 lignes dans mon exemple mais ca peut très bien être 950 lignes...voir plus) or dans Businiess Objets, lorsque que je veux travailler sur ces identifiants je ne peux pas en mettre plus de 100 dans une même ligne.
Exemple: chaque marque de voiture a un identifiant (123 pour renault, 456 pour peugeot, 789 pour citroën)
Je vais devoir remonter pour renault et peugeot le nombre de voiture en circulation, donc dans BO il va falloir que dans les critères de la requête je fasse la chose suivante:
Identifiant_voiture DANS LISTE (123;456) et chaque identifiant doit être séparé par un ";"
La il y a que deux identifiants mais je peux avoir à en mettre plusieurs centaines or par ligne dans BO il n'en accepte que 100...c'est pour que je puisse faire des copier coller rapidement des identifiants par liste de 100...
Je sais c'est pas évident à expliquer sur le net comme ça...si je ne suis pas clair n'hésitez pas à me revenir !
Merci encore!
Effectivement ton fichier peut m'être utile dans le cas ou j'ai moins de 100 identifiants...après ca se complique...
Par contre effectivement on voit pas le résultat du coup je copie colle la cellule I204 (je crois que c'est celle la) et j'ai l'info, merci pour ton aide en tout cas.
Merci à tous, en prenant les idées à droite à gauche de vos aides je suis parvenu à bout ! et il y a une grosse utilité derrière, un grand merci à tous encore une fois !
Cdt,
Jean
Cdt,
Jean
Bonjour Pissdrunk,
Désolé de reveiller un vieux topic mais étant moi même en train de faire du requêtage sous BO XI depuis pas longtemps, j'ai besoin de ton aide.
Je dois requeter à partir de fichiers .csv qui peuvent aller a beaucoup plus que 400 entrées, l'idée étant de faire une requête de 1000/2000 numéros et de la laisser tourner autant de temps que necessaire.
J'ai requêté pour une liste de 147 éléments et il n'y a eu aucun message d'erreur, je récupère bien les donnèes. Que voulais tu dire par "business object est limité a 100 entrées"?
Ce serait sympa de m'envoyer ta méthode.
Cordialement,
quentin
Désolé de reveiller un vieux topic mais étant moi même en train de faire du requêtage sous BO XI depuis pas longtemps, j'ai besoin de ton aide.
Je dois requeter à partir de fichiers .csv qui peuvent aller a beaucoup plus que 400 entrées, l'idée étant de faire une requête de 1000/2000 numéros et de la laisser tourner autant de temps que necessaire.
J'ai requêté pour une liste de 147 éléments et il n'y a eu aucun message d'erreur, je récupère bien les donnèes. Que voulais tu dire par "business object est limité a 100 entrées"?
Ce serait sympa de m'envoyer ta méthode.
Cordialement,
quentin