Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme
possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera
si possible.
J'ai une base de donnée avec plusieurs lignes.
Dans les cellules de la colonne B, et dans une cellule on peut avoir
plusieurs infos qui sont de la forme
J. Toto
B. Martin
C. Tata
ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une
meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve
des lignes ou on a respectivement :
A B
Ligne 01 J. Toto 001
Ligne 02 B. Martin 001
Ligne 03 C. Tata 001
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour ,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com ou ici, http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer. nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera si possible.
J'ai une base de donnée avec plusieurs lignes. Dans les cellules de la colonne B, et dans une cellule on peut avoir plusieurs infos qui sont de la forme J. Toto B. Martin C. Tata ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve des lignes ou on a respectivement :
A B Ligne 01 J. Toto 001 Ligne 02 B. Martin 001 Ligne 03 C. Tata 001
et ainsi de suite
Merci
bonjour j@b,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com
ou ici,
http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer.
nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, j@b a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme
possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera
si possible.
J'ai une base de donnée avec plusieurs lignes.
Dans les cellules de la colonne B, et dans une cellule on peut avoir
plusieurs infos qui sont de la forme
J. Toto
B. Martin
C. Tata
ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une
meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve
des lignes ou on a respectivement :
A B
Ligne 01 J. Toto 001
Ligne 02 B. Martin 001
Ligne 03 C. Tata 001
http://www.cjoint.com ou ici, http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer. nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera si possible.
J'ai une base de donnée avec plusieurs lignes. Dans les cellules de la colonne B, et dans une cellule on peut avoir plusieurs infos qui sont de la forme J. Toto B. Martin C. Tata ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve des lignes ou on a respectivement :
A B Ligne 01 J. Toto 001 Ligne 02 B. Martin 001 Ligne 03 C. Tata 001
et ainsi de suite
Merci
Jean-Claude
Bonjour,
si j'ai bien compris, peut-être avec une macro du genre :
Sub Eclater() r1 = 2 ' ligne de départ de la feuille origine r2 = 2 ' ligne de départ de la feuille cible While Sheets("Feuil1").Cells(r1, 2).Value <> "" t = Split(Sheets("Feuil1").Cells(r1, 2).Value, vbLf) For Each v In t Sheets("Feuil2").Cells(r2, 1).Value = v Sheets("Feuil2").Cells(r2, 2).Value = Sheets("Feuil1").Cells(r1, 3).Value r2 = r2 + 1 Next r1 = r1 + 1 Wend End Sub
Cf : http://cjoint.com/?1depepVOcPR pour un exemple.
Cordialement, Jean-Claude
Bonjour,
si j'ai bien compris, peut-être avec une macro du genre :
Sub Eclater()
r1 = 2 ' ligne de départ de la feuille origine
r2 = 2 ' ligne de départ de la feuille cible
While Sheets("Feuil1").Cells(r1, 2).Value <> ""
t = Split(Sheets("Feuil1").Cells(r1, 2).Value, vbLf)
For Each v In t
Sheets("Feuil2").Cells(r2, 1).Value = v
Sheets("Feuil2").Cells(r2, 2).Value = Sheets("Feuil1").Cells(r1,
3).Value
r2 = r2 + 1
Next
r1 = r1 + 1
Wend
End Sub
Cf : http://cjoint.com/?1depepVOcPR pour un exemple.
si j'ai bien compris, peut-être avec une macro du genre :
Sub Eclater() r1 = 2 ' ligne de départ de la feuille origine r2 = 2 ' ligne de départ de la feuille cible While Sheets("Feuil1").Cells(r1, 2).Value <> "" t = Split(Sheets("Feuil1").Cells(r1, 2).Value, vbLf) For Each v In t Sheets("Feuil2").Cells(r2, 1).Value = v Sheets("Feuil2").Cells(r2, 2).Value = Sheets("Feuil1").Cells(r1, 3).Value r2 = r2 + 1 Next r1 = r1 + 1 Wend End Sub
Cf : http://cjoint.com/?1depepVOcPR pour un exemple.
Cordialement, Jean-Claude
j
Merci Je vais tester et je reviens vous donner des infos Cordialement
"Jean-Claude" a écrit dans le message de news: 4d70f1c3$0$7698$
Bonjour,
si j'ai bien compris, peut-être avec une macro du genre :
Sub Eclater() r1 = 2 ' ligne de départ de la feuille origine r2 = 2 ' ligne de départ de la feuille cible While Sheets("Feuil1").Cells(r1, 2).Value <> "" t = Split(Sheets("Feuil1").Cells(r1, 2).Value, vbLf) For Each v In t Sheets("Feuil2").Cells(r2, 1).Value = v Sheets("Feuil2").Cells(r2, 2).Value = Sheets("Feuil1").Cells(r1, 3).Value r2 = r2 + 1 Next r1 = r1 + 1 Wend End Sub
Cf : http://cjoint.com/?1depepVOcPR pour un exemple.
Cordialement, Jean-Claude
Merci
Je vais tester et je reviens vous donner des infos
Cordialement
"Jean-Claude" <repondre_en_forum@orange.fr> a écrit dans le message de news:
4d70f1c3$0$7698$ba4acef3@reader.news.orange.fr...
Bonjour,
si j'ai bien compris, peut-être avec une macro du genre :
Sub Eclater()
r1 = 2 ' ligne de départ de la feuille origine
r2 = 2 ' ligne de départ de la feuille cible
While Sheets("Feuil1").Cells(r1, 2).Value <> ""
t = Split(Sheets("Feuil1").Cells(r1, 2).Value, vbLf)
For Each v In t
Sheets("Feuil2").Cells(r2, 1).Value = v
Sheets("Feuil2").Cells(r2, 2).Value = Sheets("Feuil1").Cells(r1,
3).Value
r2 = r2 + 1
Next
r1 = r1 + 1
Wend
End Sub
Cf : http://cjoint.com/?1depepVOcPR pour un exemple.
Merci Je vais tester et je reviens vous donner des infos Cordialement
"Jean-Claude" a écrit dans le message de news: 4d70f1c3$0$7698$
Bonjour,
si j'ai bien compris, peut-être avec une macro du genre :
Sub Eclater() r1 = 2 ' ligne de départ de la feuille origine r2 = 2 ' ligne de départ de la feuille cible While Sheets("Feuil1").Cells(r1, 2).Value <> "" t = Split(Sheets("Feuil1").Cells(r1, 2).Value, vbLf) For Each v In t Sheets("Feuil2").Cells(r2, 1).Value = v Sheets("Feuil2").Cells(r2, 2).Value = Sheets("Feuil1").Cells(r1, 3).Value r2 = r2 + 1 Next r1 = r1 + 1 Wend End Sub
Cf : http://cjoint.com/?1depepVOcPR pour un exemple.
Cordialement, Jean-Claude
j
Bonjour
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel L'objectif etant d'optimisé en automatique via formule ou vba j'ai aussi simplifie
Merci Voici le lien http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle" a écrit dans le message de news: ikqpla$1hn$
bonjour ,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com ou ici, http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer. nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera si possible.
J'ai une base de donnée avec plusieurs lignes. Dans les cellules de la colonne B, et dans une cellule on peut avoir plusieurs infos qui sont de la forme J. Toto B. Martin C. Tata ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve des lignes ou on a respectivement :
A B Ligne 01 J. Toto 001 Ligne 02 B. Martin 001 Ligne 03 C. Tata 001
et ainsi de suite
Merci
Bonjour
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine
En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel
L'objectif etant d'optimisé en automatique via formule ou vba
j'ai aussi simplifie
Merci
Voici le lien
http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle" <i@v.org> a écrit dans le message de news:
ikqpla$1hn$1@speranza.aioe.org...
bonjour j@b,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com
ou ici,
http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer.
nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, j@b a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme
possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se
fera
si possible.
J'ai une base de donnée avec plusieurs lignes.
Dans les cellules de la colonne B, et dans une cellule on peut avoir
plusieurs infos qui sont de la forme
J. Toto
B. Martin
C. Tata
ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour
une
meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve
des lignes ou on a respectivement :
A B
Ligne 01 J. Toto 001
Ligne 02 B. Martin 001
Ligne 03 C. Tata 001
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel L'objectif etant d'optimisé en automatique via formule ou vba j'ai aussi simplifie
Merci Voici le lien http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle" a écrit dans le message de news: ikqpla$1hn$
bonjour ,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com ou ici, http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer. nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera si possible.
J'ai une base de donnée avec plusieurs lignes. Dans les cellules de la colonne B, et dans une cellule on peut avoir plusieurs infos qui sont de la forme J. Toto B. Martin C. Tata ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve des lignes ou on a respectivement :
A B Ligne 01 J. Toto 001 Ligne 02 B. Martin 001 Ligne 03 C. Tata 001
et ainsi de suite
Merci
isabelle
bonjour ,
dit moi si c'est ok,
Sub Macro1() Dim w As Integer, i As Integer, y As Integer, q As Integer, h As Integer, n w = 1 With Sheets("Base") For i = 2 To .Range("A65536").End(xlUp).Row n = Split(.Cells(i, 2), vbLf) For y = LBound(n) To UBound(n) q = .Cells(i, 1) + 1 If IsError(Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0)) Then w = w + 1 Sheets("Tableau").Cells(w, 1) = n(y) Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1) Sheets("Tableau").Cells(w, q).Value = "x" Else h = Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0) Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1) Sheets("Tableau").Cells(h, q).Value = "x" End If Next Next End With End Sub
isabelle
Le 2011-03-06 14:51, a écrit :
Bonjour
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel L'objectif etant d'optimisé en automatique via formule ou vba j'ai aussi simplifie
Merci Voici le lien http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle" a écrit dans le message de news: ikqpla$1hn$
bonjour ,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com ou ici, http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer. nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera si possible.
J'ai une base de donnée avec plusieurs lignes. Dans les cellules de la colonne B, et dans une cellule on peut avoir plusieurs infos qui sont de la forme J. Toto B. Martin C. Tata ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve des lignes ou on a respectivement :
A B Ligne 01 J. Toto 001 Ligne 02 B. Martin 001 Ligne 03 C. Tata 001
et ainsi de suite
Merci
bonjour j@b,
dit moi si c'est ok,
Sub Macro1()
Dim w As Integer, i As Integer, y As Integer, q As Integer, h As Integer, n
w = 1
With Sheets("Base")
For i = 2 To .Range("A65536").End(xlUp).Row
n = Split(.Cells(i, 2), vbLf)
For y = LBound(n) To UBound(n)
q = .Cells(i, 1) + 1
If IsError(Application.Match(n(y),
Sheets("Tableau").Range("A:A"), 0)) Then
w = w + 1
Sheets("Tableau").Cells(w, 1) = n(y)
Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1)
Sheets("Tableau").Cells(w, q).Value = "x"
Else
h = Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0)
Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1)
Sheets("Tableau").Cells(h, q).Value = "x"
End If
Next
Next
End With
End Sub
isabelle
Le 2011-03-06 14:51, j@b a écrit :
Bonjour
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine
En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel
L'objectif etant d'optimisé en automatique via formule ou vba
j'ai aussi simplifie
Merci
Voici le lien
http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle"<i@v.org> a écrit dans le message de news:
ikqpla$1hn$1@speranza.aioe.org...
bonjour j@b,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com
ou ici,
http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer.
nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, j@b a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme
possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se
fera
si possible.
J'ai une base de donnée avec plusieurs lignes.
Dans les cellules de la colonne B, et dans une cellule on peut avoir
plusieurs infos qui sont de la forme
J. Toto
B. Martin
C. Tata
ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour
une
meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve
des lignes ou on a respectivement :
A B
Ligne 01 J. Toto 001
Ligne 02 B. Martin 001
Ligne 03 C. Tata 001
Sub Macro1() Dim w As Integer, i As Integer, y As Integer, q As Integer, h As Integer, n w = 1 With Sheets("Base") For i = 2 To .Range("A65536").End(xlUp).Row n = Split(.Cells(i, 2), vbLf) For y = LBound(n) To UBound(n) q = .Cells(i, 1) + 1 If IsError(Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0)) Then w = w + 1 Sheets("Tableau").Cells(w, 1) = n(y) Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1) Sheets("Tableau").Cells(w, q).Value = "x" Else h = Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0) Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1) Sheets("Tableau").Cells(h, q).Value = "x" End If Next Next End With End Sub
isabelle
Le 2011-03-06 14:51, a écrit :
Bonjour
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel L'objectif etant d'optimisé en automatique via formule ou vba j'ai aussi simplifie
Merci Voici le lien http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle" a écrit dans le message de news: ikqpla$1hn$
bonjour ,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com ou ici, http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer. nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera si possible.
J'ai une base de donnée avec plusieurs lignes. Dans les cellules de la colonne B, et dans une cellule on peut avoir plusieurs infos qui sont de la forme J. Toto B. Martin C. Tata ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve des lignes ou on a respectivement :
A B Ligne 01 J. Toto 001 Ligne 02 B. Martin 001 Ligne 03 C. Tata 001
et ainsi de suite
Merci
j
Merci Isa de cette réponse aussi rapide Je teste cela dès demain matin en essayant de bien comprendre pour pouvoir l'adapter car ce que j'ai transmis n'est qu'un exemple tres simplifié J'ai surtout bien besoin de comprendre ta macro pour ensuite l'adapter
Merci et grand merci déjà Je reviens vers vous dès mes premiers résultats
Bien a vous
"isabelle" a écrit dans le message de news: il0ub4$lia$
bonjour ,
dit moi si c'est ok,
Sub Macro1() Dim w As Integer, i As Integer, y As Integer, q As Integer, h As Integer, n w = 1 With Sheets("Base") For i = 2 To .Range("A65536").End(xlUp).Row n = Split(.Cells(i, 2), vbLf) For y = LBound(n) To UBound(n) q = .Cells(i, 1) + 1 If IsError(Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0)) Then w = w + 1 Sheets("Tableau").Cells(w, 1) = n(y) Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1) Sheets("Tableau").Cells(w, q).Value = "x" Else h = Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0) Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1) Sheets("Tableau").Cells(h, q).Value = "x" End If Next Next End With End Sub
isabelle
Le 2011-03-06 14:51, a écrit :
Bonjour
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel L'objectif etant d'optimisé en automatique via formule ou vba j'ai aussi simplifie
Merci Voici le lien http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle" a écrit dans le message de news: ikqpla$1hn$
bonjour ,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com ou ici, http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer. nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera si possible.
J'ai une base de donnée avec plusieurs lignes. Dans les cellules de la colonne B, et dans une cellule on peut avoir plusieurs infos qui sont de la forme J. Toto B. Martin C. Tata ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve des lignes ou on a respectivement :
A B Ligne 01 J. Toto 001 Ligne 02 B. Martin 001 Ligne 03 C. Tata 001
et ainsi de suite
Merci
Merci Isa de cette réponse aussi rapide
Je teste cela dès demain matin en essayant de bien comprendre pour pouvoir
l'adapter
car ce que j'ai transmis n'est qu'un exemple tres simplifié
J'ai surtout bien besoin de comprendre ta macro pour ensuite l'adapter
Merci et grand merci déjà
Je reviens vers vous dès mes premiers résultats
Bien a vous
"isabelle" <i@v.org> a écrit dans le message de news:
il0ub4$lia$1@speranza.aioe.org...
bonjour j@b,
dit moi si c'est ok,
Sub Macro1()
Dim w As Integer, i As Integer, y As Integer, q As Integer, h As Integer,
n
w = 1
With Sheets("Base")
For i = 2 To .Range("A65536").End(xlUp).Row
n = Split(.Cells(i, 2), vbLf)
For y = LBound(n) To UBound(n)
q = .Cells(i, 1) + 1
If IsError(Application.Match(n(y), Sheets("Tableau").Range("A:A"),
0)) Then
w = w + 1
Sheets("Tableau").Cells(w, 1) = n(y)
Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1)
Sheets("Tableau").Cells(w, q).Value = "x"
Else
h = Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0)
Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1)
Sheets("Tableau").Cells(h, q).Value = "x"
End If
Next
Next
End With
End Sub
isabelle
Le 2011-03-06 14:51, j@b a écrit :
Bonjour
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine
En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel
L'objectif etant d'optimisé en automatique via formule ou vba
j'ai aussi simplifie
Merci
Voici le lien
http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle"<i@v.org> a écrit dans le message de news:
ikqpla$1hn$1@speranza.aioe.org...
bonjour j@b,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com
ou ici,
http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer.
nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, j@b a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est
meme
possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se
fera
si possible.
J'ai une base de donnée avec plusieurs lignes.
Dans les cellules de la colonne B, et dans une cellule on peut avoir
plusieurs infos qui sont de la forme
J. Toto
B. Martin
C. Tata
ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour
une
meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve
des lignes ou on a respectivement :
A B
Ligne 01 J. Toto 001
Ligne 02 B. Martin 001
Ligne 03 C. Tata 001
Merci Isa de cette réponse aussi rapide Je teste cela dès demain matin en essayant de bien comprendre pour pouvoir l'adapter car ce que j'ai transmis n'est qu'un exemple tres simplifié J'ai surtout bien besoin de comprendre ta macro pour ensuite l'adapter
Merci et grand merci déjà Je reviens vers vous dès mes premiers résultats
Bien a vous
"isabelle" a écrit dans le message de news: il0ub4$lia$
bonjour ,
dit moi si c'est ok,
Sub Macro1() Dim w As Integer, i As Integer, y As Integer, q As Integer, h As Integer, n w = 1 With Sheets("Base") For i = 2 To .Range("A65536").End(xlUp).Row n = Split(.Cells(i, 2), vbLf) For y = LBound(n) To UBound(n) q = .Cells(i, 1) + 1 If IsError(Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0)) Then w = w + 1 Sheets("Tableau").Cells(w, 1) = n(y) Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1) Sheets("Tableau").Cells(w, q).Value = "x" Else h = Application.Match(n(y), Sheets("Tableau").Range("A:A"), 0) Sheets("Tableau").Cells(1, q).Value = "Action" & .Cells(i, 1) Sheets("Tableau").Cells(h, q).Value = "x" End If Next Next End With End Sub
isabelle
Le 2011-03-06 14:51, a écrit :
Bonjour
J'ai mis un fichier en exemple de ce que je souhaite
En feuille "Base" les données origine En feuille "Tableau" le résultat attendu
Bien sur j'ai fait cela en manuel L'objectif etant d'optimisé en automatique via formule ou vba j'ai aussi simplifie
Merci Voici le lien http://cjoint.com/?1dguSXXoquM
Cordialement
"isabelle" a écrit dans le message de news: ikqpla$1hn$
bonjour ,
ce n,est pas très clair,
si tu peut déposer ton fichier ici :
http://www.cjoint.com ou ici, http://www.cijoint.fr/
et reviens ici, donner le lien de téléchargement que le site va générer. nous pourrons alors le télécharger.
ps/ mets dans ce fichier le résultat attendu
isabelle
Le 2011-03-04 07:07, a écrit :
Bonjour,
Voila ce que j'assaye de faire et j'y arrive pas et je sais si c'est meme possible !!!
J'explique de façon synthétique sur un exemple court, l'adaptation se fera si possible.
J'ai une base de donnée avec plusieurs lignes. Dans les cellules de la colonne B, et dans une cellule on peut avoir plusieurs infos qui sont de la forme J. Toto B. Martin C. Tata ces valeurs sont séparées par "renvoyer a la ligne automatiquement pour une meilleure vision
Il en colonne C une valeur action 001 (par exemple)
Je souhaiterai dans une feuille dans un tableau que l'on retrouve des lignes ou on a respectivement :
A B Ligne 01 J. Toto 001 Ligne 02 B. Martin 001 Ligne 03 C. Tata 001