Créer des lignes en fonction d'un champ

D

DLU

Guest
Bonjour,
Je dispose d'un tableau excel du type:
toto dans une colonne et 4 dans une autre
titi | 2
tata | 5
etc
Pourriez vous me dire s'il est possible à partir de ces infos, de créer un tableau
dans une autre feuille avec 4 lignes de toto, 2 lignes de titi, 5 lignes de tata etc
(j'ai environ 300 lignes dans la feuille de départ)
dans l'exemple, Je souhaiterai obtenir dans une autre feuille :
toto
toto
toto
toto
titi
titi
etc

merci
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour DLU, bonjour à toutes et à tous :)

La réponse est : oui, c'est possible...

Je te joins un fichier pour que tu puisses vérifier si cela correspond à ce que tu souhaites faire.

[file name=DLU_CreerLignes.zip size=10862]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/DLU_CreerLignes.zip[/file]

A+ ;)
 

Pièces jointes

  • DLU_CreerLignes.zip
    10.6 KB · Affichages: 16
D

dlu

Guest
merci beaucoup,
le code est parfait.
au risque d'abuser, j'ai essayé de modifier le code pour faire l'inverse (de la liste de la feuil2, obtenir le compte sur la feuil1), mais sans succés...
merci pour votre aide

dlu
 

Charly2

Nous a quittés en 2006
Repose en paix
re bonjour DLU,

Voilà, une version qui va de Feuil2 à Feuil1. Si tu as d'autres noms de feuilles, tu vas dans Module1 sous vbe et tu changes les noms au niveau des instructions Sheets('Feuiln').

[file name=DLU_CreerLignes_20060419155507.zip size=10211]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/DLU_CreerLignes_20060419155507.zip[/file]

A+ ;)
 

Pièces jointes

  • DLU_CreerLignes_20060419155507.zip
    10 KB · Affichages: 10

Hervé

XLDnaute Barbatruc
salut dlu, charly, tata josette

une autre syntaxe pour regrouper des éléments en passant par un dictionnary



Sub Bouton2_QuandClic()
'nécessite l'activation de la référence : Microsoft scripting runtime
Dim data As New Dictionary
Dim plage As Range, c As Range
Dim x As Integer
With Sheets('feuil2')
       
Set plage = .Range('a1:a' & .Range('a65536').End(xlUp).Row)
End With
For Each c In plage
       
If data.Exists(CStr(c)) = False Then
        data.Add Item:=Application.CountIf(plage, c), Key:=CStr(c)
        x = x + 1
       
End If
Next c
Range(Cells(1, 2), Cells(x, 2)) = Application.Transpose(data.Items)
Range(Cells(1, 1), Cells(x, 1)) = Application.Transpose(data.Keys)

End Sub


salut [file name=dlu_20060419170534.zip size=13303]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dlu_20060419170534.zip[/file]
 

Pièces jointes

  • dlu_20060419170534.zip
    13 KB · Affichages: 13
D

dlu

Guest
resalut,
pour charly2,
ce que je voulais dire, c'est passer de :
toto
toto
toto
à
toto dans une colone et 3 dans une autre...
ceci dit, je devrait m'en sortir avec le code de hervé, bien que je ne sache pas qu'est :
'nécessite l'activation de la référence : Microsoft scripting runtime

désolé pour mon ignorance...
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir dlu, bonsoir Hervé, bonsoir tata Josette,
bonsoir à toutes les tatas et les tontons de la Terre,

Je trouvais ta demande bizarre aussi :whistle: :silly: :p :lol:

Bon, tu as quand même eu une réponse grâce à Hervé :). Pour la référence, tu vas sous l'éditeur Visual Basic et tu sélectionnes Références dans le menu Outils, et là tu cherches la référence indiquée par Hervé et tu la 'coche'. C'est tout.

PS : Merci Hervé :lol:

A+ ;)
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir à toutes et à tous,
bonsoir dlu :)

Pour satisfaire ta curiosité, je suis autodidacte VBA mais j'ai quand même de bonnes notions d'informatique. C'était avant la programmation orientée objet (POO) et donc au début des langages de 4ème génération.

Je souris en me souvenant qu'on trouvait formidable de pouvoir programmer en créant des modules qui finalement n'étaient que les premiers pas de la POO dans le monde informatique :)

A+ ;)
 

Discussions similaires

Réponses
2
Affichages
540

Statistiques des forums

Discussions
312 451
Messages
2 088 519
Membres
103 876
dernier inscrit
Audrey82