démultiplication de données...je m'explique ;o)

  • Initiateur de la discussion Initiateur de la discussion nono60
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nono60

Guest
Bonjour à tout le monde qui lis ce message 🙂

Voilà j'ai un projet mais je n'arrive pas à m'en sortir sous excel, je suis débutant et je ne connais pas du tout VBA.

J'ai créé un fichier xls (joint à ce post) afin d'argumenter mes explications 😱
Les données ont été prises au hasard, ce n'est qu'un exemple car mon projet et plus compliqué et il y a plus de données.

Explications:

J'ai une feuille 1 avec les données 1 et une autre avec les données 2, je souhaite faire une feuille 3 en résultat avec une synthèse des feuilles 1 et 2. Je veux retrouver sur cette feuilles tous les données disponibles des deux autres. Je précise que dans mon projet, j'ai beaucoup plus de colonnes et de lignes.

Je ne suis pas contre une solution en VBA mais il faudra que l'on m'explique étape par étape.

MERCI à ceux qui voudront bien se pencher sur ce sujet 🙂

Bonne soirée

Nono
 

Pièces jointes

Re : démultiplication de données...je m'explique ;o)

Bonsoir

J ai commencer par revoir la construction de ta feuille "données 1"

comme suit Regarde la pièce jointe demultiplication données.xls

pour la suite je verrai plus tard mais deja la ca te permettra de voir

ou d apres moi ca va te poser un probleme par la suite si tu remplit ta feuille

comme tu l avais fait ce

je suivrai ca un peut plus tard si tu veut bien

a+🙂
 

Pièces jointes

Re : démultiplication de données...je m'explique ;o)

Bonjour Yojema,

Merci de te pencher sur mon problème mais la mise en forme que tu as fait est necessaire mais je voudrais la faire par une formule xls car ce j'ai plus de 4000 lignes dans ce cas et je me vois pas le faire à la main 🙂
Peux tu me donner une solution pour une mise ne forme automatique avant de continuer ?
Merci beaucoup de votre aide 😉

nono
 
Re : démultiplication de données...je m'explique ;o)

MERCI Hervé pour ta précieuse aide.
Masi je ne connais pas du tout VBA, peut tu m'expliquer ta macro car je dois la retranscrire dans mon projet. Le fichier xls que j'avais joint est un petit exemple, sinon j'ai plus de 6000 lignes 😀

On peut éviter VBA ?

encore Merci
 
Re : démultiplication de données...je m'explique ;o)

re

je ne sais pas si c'est possible par formule, je suis nul dans ce domaine.

je te fournis un code avec quelques commentaires :
Code:
Sub Bouton1_QuandClic()
Dim c As Range
Dim tablo(), tablod2, tablosplit
Dim x As Integer, j As Integer, i As Integer

'stock les données de la feuille DONNEES 2
tablod2 = Sheets("DONNEES 2").Range("a1").CurrentRegion

With Sheets("DONNEES 1") 'a partir de la feuille DONNEES 1
    'pour chaque cellule de la ligne A2 jusqu'a la derniere ligne non vide de la colonne A
    For Each c In .Range("a2:a" & .Range("a65536").End(xlUp).Row)
        'deconcatene la valeur de la colonne B (c.offset(0,1))
        tablosplit = Split(c.Offset(0, 1), Chr(10))
        'pour chaque élément de la deconcaténation
        For i = 0 To UBound(tablosplit)
            x = x + 1
            ReDim Preserve tablo(1 To 5, 1 To x)
            'stock les données
            tablo(1, x) = c 'le prénom
            tablo(2, x) = tablosplit(i) 'l'élément de la déconcaténation
            tablo(3, x) = c.Offset(0, 2) 'la marque (colonne C)
            For j = 1 To UBound(tablod2) 'pour chaque ligne de la feuille données
                If tablo(3, x) = tablod2(j, 1) Then 'si les marques de la voiture sont identiques
                    tablo(4, x) = tablod2(j, 2) 'on complete le tableau avec la donnée 2 (le type de voiture)
                    tablo(5, x) = tablod2(j, 3) 'et le type d'energie
                    Exit For
                End If
            Next j
        Next i
    Next c
End With

Sheets("feuil1").Cells.ClearContents 'on efface les données de feuil1

'on renvoi le tableau en feuil1
For i = 1 To UBound(tablo, 2)
    For j = 1 To UBound(tablo, 1)
        Sheets("feuil1").Cells(i, j) = tablo(j, i)
    Next j
Next i

End Sub
pour acceder à la macro, lorsque tu es sur la feuil1 fait ALT+F11.

il est toujours préférable de fournir une pièce jointe collant le plus à la réalité, ainsi, les codes vba s'adaptent mieux.

si tu rencontres encore des soucis, fournis nous une piece jointe plus étoffée, 10 lignes suffisent, par contre la disposition des colonnes est tres importante.

salut
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
699
Retour