Aide Excel, lignes différement renseignées...
Diegoms
Messages postés
10
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Comment faire ça sur Excel ? J'ai dans une liste disons cinqu colonnes :
Chanson Artiste Compagnie code Droits
C'est pour faire une liste de chansons et voir si on a les droits d'exploitation etc. C'est pas important de le savoir.
Ce que je veux faire c'est avoir tous les colonnes remplies. C'est à dire les 5 pour chaque chanson. le probleme est que j'ai des chansons en double ou en triple mais que parfois les doublons n'ont pas les mêmes colonnes repmplies. Alors pour une même chanson on peut avoir :
Chanson Artiste Compagnie Code Droits
Let it be Beatles Sony
Let it be Sony 12547
Let it be Beatles 12547 Oui
VOILA. Je voudrais avoir seulement UNE REFERENCE PAR CHANSON. Comment faire cela de manière automatique (ou semi automatique) puisque ma liste comprend 7000 references.
MERCI infiniment
Comment faire ça sur Excel ? J'ai dans une liste disons cinqu colonnes :
Chanson Artiste Compagnie code Droits
C'est pour faire une liste de chansons et voir si on a les droits d'exploitation etc. C'est pas important de le savoir.
Ce que je veux faire c'est avoir tous les colonnes remplies. C'est à dire les 5 pour chaque chanson. le probleme est que j'ai des chansons en double ou en triple mais que parfois les doublons n'ont pas les mêmes colonnes repmplies. Alors pour une même chanson on peut avoir :
Chanson Artiste Compagnie Code Droits
Let it be Beatles Sony
Let it be Sony 12547
Let it be Beatles 12547 Oui
VOILA. Je voudrais avoir seulement UNE REFERENCE PAR CHANSON. Comment faire cela de manière automatique (ou semi automatique) puisque ma liste comprend 7000 references.
MERCI infiniment
A voir également:
- Aide Excel, lignes différement renseignées...
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Aller à la ligne excel - Guide
5 réponses
Bonjour,
pour tenter de t'apporter une solution, met un extrait de ton classeur (enV. 100lignes maxi) sur:
http://cijoint.fr/et colles le lien proposé dans ton message
pour tenter de t'apporter une solution, met un extrait de ton classeur (enV. 100lignes maxi) sur:
http://cijoint.fr/et colles le lien proposé dans ton message
Bonjour,
Je n'ai pas le droit de montrer le fichier, mais j'ai crée un fichier semblable avec just 3 references. Merci de ton aide :
http://www.cijoint.fr/cjlink.php?file=cj201005/cij0IBqJcY.xls
:)
Je n'ai pas le droit de montrer le fichier, mais j'ai crée un fichier semblable avec just 3 references. Merci de ton aide :
http://www.cijoint.fr/cjlink.php?file=cj201005/cij0IBqJcY.xls
:)
Bien reçu ton classeur, merci !
ca ne va pas être évident,
sur quelle colonne se base-t-on, c'est à dire où il y a t il un identifiant unique ?
le titre? non, car on peut avoir plusieurs artistes. par ex: "satisfaction" par les cailloux mais aussi Otis Redding, et autres... et le titre par le m^me groupe peut être enregistré dans plusieurs maisons (rupture contrat)
donc, si on a un identifiant unique: OK sinon sur quelles concaténations de données ?
Enfin où restitue t-on tout çà ?
ca ne va pas être évident,
sur quelle colonne se base-t-on, c'est à dire où il y a t il un identifiant unique ?
le titre? non, car on peut avoir plusieurs artistes. par ex: "satisfaction" par les cailloux mais aussi Otis Redding, et autres... et le titre par le m^me groupe peut être enregistré dans plusieurs maisons (rupture contrat)
donc, si on a un identifiant unique: OK sinon sur quelles concaténations de données ?
Enfin où restitue t-on tout çà ?
Salut, merci de ton aide, desolé de pas avoir repondu plus tôt.
En fait le titre sera unique, JE SAIS, qu'il n'y a pas deux titres qui se repetent. Et si non le code 1 est unique aussi. On a TOUJOURS le titre mais pas toujours les autres elements.
L'ideal serait de sussprimer les doubles et triples dans le fichier pour ne garder qu'un seul fichier, c'est à dire restituer dans le même fichier.
Les concatenations je n'ai pas compris. Mais ce que je veux c'est juste remplir le plus possible chaque entrée avec les infos des differentes lignes, pour avoir un titre une seule fois avec le plus d'info possibles.
Merci
En fait le titre sera unique, JE SAIS, qu'il n'y a pas deux titres qui se repetent. Et si non le code 1 est unique aussi. On a TOUJOURS le titre mais pas toujours les autres elements.
L'ideal serait de sussprimer les doubles et triples dans le fichier pour ne garder qu'un seul fichier, c'est à dire restituer dans le même fichier.
Les concatenations je n'ai pas compris. Mais ce que je veux c'est juste remplir le plus possible chaque entrée avec les infos des differentes lignes, pour avoir un titre une seule fois avec le plus d'info possibles.
Merci
Bonjour,
Excuse le retard mais des orages violents dans mon coin m'obligent à éteindre l'ordi de temps en temps
essaies cette macro avec restitution en feuille 2
Excuse le retard mais des orages violents dans mon coin m'obligent à éteindre l'ordi de temps en temps
essaies cette macro avec restitution en feuille 2
Sub titres()
Dim derlig As Integer, cptr As Integer
Dim coll As Collection
Dim tablo
Dim titre As String, nbre_titre As Integer, lig As Integer, cptr_lig As Integer, cptr_tab As Byte
derlig = Range("J20000").End(xlUp).Row
'liste titres uniques
Set coll = New Collection
For cptr = 2 To derlig
On Error Resume Next
coll.Add Cells(cptr, 10).Value, CStr(Cells(cptr, 10).Value)
Next
ReDim tablo(1 To coll.Count, 1 To 14)
For cptr = 1 To coll.Count
'nombre occurence du titre en cours
titre = coll(cptr)
nbre_titre = Application.CountIf(Range("J2:J20000"), titre)
'trouve les lignes des occurences du titre
lig = 1
For cptr_lig = 1 To nbre_titre
lig = Columns(10).Find(titre, Cells(lig, 10)).Row
'remplissage du tableau
For cptr_tab = 1 To 14
If Cells(lig, cptr_tab) <> "" Then tablo(cptr, cptr_tab) = Cells(lig, cptr_tab)
Next
Next
Next
'restitution du tableau en feuille2
Application.ScreenUpdating = False
With Sheets(2)
.Range("A2:N20000").Clear
.Range("A2").Resize(coll.Count, 14) = tablo
.Range("A2:N" & coll.Count + 1).Borders.Weight = xlThin
End With
Set Collection = Nothing
End Sub
Mon ami, je te remercie enormement de ton aide. Mais en fait je n'ai jamais utilisé un e macro. Je pense que je peux y arriver, car je me connait pas mal en ordinateurs, mais si tu peux m'expliquer rapidement. En fait il faut que je colle ton code quelque part dans Excel, n'est pas ????
Je vais essayer de chercher mais si tu peux me donner des indices...
Merci :)
Je vais essayer de chercher mais si tu peux me donner des indices...
Merci :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir Diego,
1 - va dans la barre de menu : Outils > Macro > Visual Basic Editor.
2 - l'editeur visual basic s'ouvre et la tu y copie-colles le code.
3 - pour executer la macro : tu vas dans Outils > Macro > Macros... et tu selectionnes la macro (en l'occurence "titres") et ca fait le job !
Precaution : enregistre tout de meme une version de sauvegarde de ton listing avant tout ca et ne joue la macro que sur le fichier copie au cas ou elle ne ferait pas exactement ce que tu souhaites !
A+
Madelio
1 - va dans la barre de menu : Outils > Macro > Visual Basic Editor.
2 - l'editeur visual basic s'ouvre et la tu y copie-colles le code.
3 - pour executer la macro : tu vas dans Outils > Macro > Macros... et tu selectionnes la macro (en l'occurence "titres") et ca fait le job !
Precaution : enregistre tout de meme une version de sauvegarde de ton listing avant tout ca et ne joue la macro que sur le fichier copie au cas ou elle ne ferait pas exactement ce que tu souhaites !
A+
Madelio