Excel : remplir 2 col à partir d'1
Fermé
Marc58130
-
31 mars 2011 à 15:41
mic13710 Messages postés 1087 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 - 1 avril 2011 à 15:42
mic13710 Messages postés 1087 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 13 mai 2021 - 1 avril 2011 à 15:42
A voir également:
- Excel : remplir 2 col à partir d'1
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
6 réponses
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
31 mars 2011 à 15:50
31 mars 2011 à 15:50
Une question :
Vous dites dans chaque cellule vous avez TypeA;TypeB;TypeA;TypeB;TypeB...
Si je comprends bien, vous avez sur la même ligne plusieurs données TypeA et plusieurs données TypeB que vous souhaitez séparer pour les mettre en colonnes, une pour les TypeA et l'autre pour les TypeB
Et vous avez ce type de données sur plusieurs lignes.
Est-ce bien cela ?
Michel
Vous dites dans chaque cellule vous avez TypeA;TypeB;TypeA;TypeB;TypeB...
Si je comprends bien, vous avez sur la même ligne plusieurs données TypeA et plusieurs données TypeB que vous souhaitez séparer pour les mettre en colonnes, une pour les TypeA et l'autre pour les TypeB
Et vous avez ce type de données sur plusieurs lignes.
Est-ce bien cela ?
Michel
Oui c'est exatement ça !!!
Exemple :
TypeA1;TypeA2;TypeB1;TypeA3;TypeB2;
ColonneTypeA -->TypeA1;TypeA2;TypeA3
ColonneTypeB -->TypeB1;TypeB2
Exemple :
TypeA1;TypeA2;TypeB1;TypeA3;TypeB2;
ColonneTypeA -->TypeA1;TypeA2;TypeA3
ColonneTypeB -->TypeB1;TypeB2
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
31 mars 2011 à 15:59
31 mars 2011 à 15:59
Et qu'est ce qui différencie les typeA des typeB ?
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
31 mars 2011 à 16:07
31 mars 2011 à 16:07
Et surtout, est ce que chaque ligne est ordonnée de la même manière ?
Il faut bien une logique. Si ce n'est pas le cas, je ne vois pas bien pourquoi il faudrait mettre en relation un TypeA avec un TypeB dans 2 colonnes.
Il faut bien une logique. Si ce n'est pas le cas, je ne vois pas bien pourquoi il faudrait mettre en relation un TypeA avec un TypeB dans 2 colonnes.
Non, ils ne sont pas ordonnées de la même manière.
En fait chaque ligne correspond à un produit et le fichier Excel présente 2 types de données dans la même cellule. Et donc comme ce fichier doit être mis en base de donnée, se serait plus lisible si les données de type A et B soient dans 2 colonnes différentes.
Exemple pour un produit :
Tshirt 1 : S;M;R32;R26;L;XL
Donc les tailles du tshirt ne doivent pas se confondre avec les données commençant par un "R"
En fait chaque ligne correspond à un produit et le fichier Excel présente 2 types de données dans la même cellule. Et donc comme ce fichier doit être mis en base de donnée, se serait plus lisible si les données de type A et B soient dans 2 colonnes différentes.
Exemple pour un produit :
Tshirt 1 : S;M;R32;R26;L;XL
Donc les tailles du tshirt ne doivent pas se confondre avec les données commençant par un "R"
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
31 mars 2011 à 16:28
31 mars 2011 à 16:28
OK compris. Mais supposons deux lignes comme celles-ci :
S;M;R32;R26;L;XL
S;M;R42;R46;L;XL
Si vous mettez vos données en colonnes ça va donner :
S R32
M R26
L R42
XL R46
S
M
L
XL
Est-ce ce que vous souhaitez ?
S;M;R32;R26;L;XL
S;M;R42;R46;L;XL
Si vous mettez vos données en colonnes ça va donner :
S R32
M R26
L R42
XL R46
S
M
L
XL
Est-ce ce que vous souhaitez ?
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
Modifié par mic13710 le 31/03/2011 à 17:40
Modifié par mic13710 le 31/03/2011 à 17:40
Ca fait 3 critères tout ça !
Produit, TypeA et TypeB
C'est effectivement assez complexe dans la mesure ou il n'y a pas de cohérence dans les données.
Je ne vois guère de solution autre qu'une macro pour extraire les données car pour chaque article il faut insérer le nombre de lignes nécessaires en fonction des données présentes.
Par exemple les produits 1 et 2 ci-dessus, un produit 3 : S;R65;M;R26;R32;L;R44;XL;R45
et un produit4 : S;R36;M
donneraient les résultats suivant :
Produit1 et Produit2 : 4 lignes
Produit3 : 5 lignes à cause des données en R
Produit2 : 2 lignes seulement
Produit, TypeA et TypeB
C'est effectivement assez complexe dans la mesure ou il n'y a pas de cohérence dans les données.
Je ne vois guère de solution autre qu'une macro pour extraire les données car pour chaque article il faut insérer le nombre de lignes nécessaires en fonction des données présentes.
Par exemple les produits 1 et 2 ci-dessus, un produit 3 : S;R65;M;R26;R32;L;R44;XL;R45
et un produit4 : S;R36;M
donneraient les résultats suivant :
Produit1 et Produit2 : 4 lignes
Produit3 : 5 lignes à cause des données en R
Produit2 : 2 lignes seulement
Le typeB commence toujours par la lettre "R"
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
31 mars 2011 à 16:12
31 mars 2011 à 16:12
Et sur l'agencement des lignes ? (voir commentaire de ma question çi-dessus)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
1 avril 2011 à 01:03
1 avril 2011 à 01:03
Voila un exemple de macro qui devrait résoudre votre problème.
http://www.cijoint.fr/cjlink.php?file=cj201104/cij0E0Bc6i.xls
Je ne doute pas qu'il y ait plus simple, mais bon ça marche.
J'ai considéré que vous aviez vos données sur 2 colonnes, la première avec le nom du produit, la deuxième avec les données.
Une fois votre classement effectué, vous pouvez supprimer la colonne B qui n'est plus utile. J'aurais pu le faire en macro mais comme ça vous pouvez vérifier que toutes vos données ont été traitées avant d'effectuer manuellement la suppression.
A demain,
Michel
http://www.cijoint.fr/cjlink.php?file=cj201104/cij0E0Bc6i.xls
Je ne doute pas qu'il y ait plus simple, mais bon ça marche.
J'ai considéré que vous aviez vos données sur 2 colonnes, la première avec le nom du produit, la deuxième avec les données.
Une fois votre classement effectué, vous pouvez supprimer la colonne B qui n'est plus utile. J'aurais pu le faire en macro mais comme ça vous pouvez vérifier que toutes vos données ont été traitées avant d'effectuer manuellement la suppression.
A demain,
Michel
Bonjour !
Bon je viens de tester et c'est super !
Maintenant, à mon tour de comprendre comment ce script marche car mes données de type A et B doivent être dans la même cellule et non les unes en dessous des autres...
Merci beaucoup pour l'aide !!!!!!
Bon je viens de tester et c'est super !
Maintenant, à mon tour de comprendre comment ce script marche car mes données de type A et B doivent être dans la même cellule et non les unes en dessous des autres...
Merci beaucoup pour l'aide !!!!!!
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
Modifié par mic13710 le 1/04/2011 à 09:44
Modifié par mic13710 le 1/04/2011 à 09:44
Ce n'est pas la même chose!
Si vous dites que vous voulez les données en colonnes, l'interprétation décrite dans mon message #10 en fonction des infos tirés au forceps et ce que j'ai traduit en code dans l'exemple que je vous ai envoyé collent à votre demande.
Il aurait fallu dire dès le départ que pour chaque ligne vous vouliez regrouper les données de Type A dans une cellule et les données de Type B dans une autre. Du point de vue code, c'était nettement plus simple.
Voila le code a copier et coller à la place de celui de l'exemple ci-dessus :
Michel
Si vous dites que vous voulez les données en colonnes, l'interprétation décrite dans mon message #10 en fonction des infos tirés au forceps et ce que j'ai traduit en code dans l'exemple que je vous ai envoyé collent à votre demande.
Il aurait fallu dire dès le départ que pour chaque ligne vous vouliez regrouper les données de Type A dans une cellule et les données de Type B dans une autre. Du point de vue code, c'était nettement plus simple.
Voila le code a copier et coller à la place de celui de l'exemple ci-dessus :
Dim Liste As String Dim Extra As String Dim Lig As Byte Dim Lig1 As String Dim Lig2 As String Dim Pos As Byte Sub Sep() Lig = 1 Lig1 = "" Lig2 = "" Liste = "a" Do Until Len(Liste) = 0 Liste = Cells(Lig, 2) Pos = 1 Do Until Pos > Len(Liste) If InStr(Pos, Liste, ";") > 0 Then Extra = Mid(Liste, Pos, InStr(Pos, Liste, ";") - Pos) Else Extra = Mid(Liste, Pos) End If If Left(Extra, 1) = "R" Then If Lig2 = "" Then Lig2 = Extra Else Lig2 = Lig2 & ";" & Extra End If Else If Lig1 = "" Then Lig1 = Extra Else Lig1 = Lig1 & ";" & Extra End If End If Pos = Pos + Len(Extra) + 1 Loop Cells(Lig, 3) = Lig1 Cells(Lig, 4) = Lig2 Lig = Lig + 1 Lig1 = "" Lig2 = "" Loop End Sub
Michel
mic13710
Messages postés
1087
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
355
1 avril 2011 à 15:42
1 avril 2011 à 15:42
OK alors,
Merci de passer le sujet à résolu.
Michel
Merci de passer le sujet à résolu.
Michel