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 !

jeremy6812

XLDnaute Nouveau
Bonjour à tous 🙂

Tous d'abord merci pour votre aide et les nombreuses solutions que j ai déjà trouver en parcourant ce forum 🙂

Mais la je bloque

Jai beau essayer ca ne marche pas , c'est pourquoi je vous envoie un fichier avec le resultat souhaitez

Explication 🙂

j'ai des reference en colonne A
Nombre en colonne B

Et je souhaiterais si cela est possible avoir les resulat en ligne 5 comme afficher en noir a savoir
reference A1 en D5 x nombres B1 ( soit 5 fois )
Reference A2 en E5 x nombre B2 ( soit 5 fois )

et ainsi de suite

merci mille fois si qq peu m'aider j ai deja passer 8 heures a essayer de faire une vba impossible 🙁 🙁
 

Pièces jointes

Bonjour Jeremy,

Je suis très loin d'avoir la rapidité et l'expérience de PierreJean (qui m'a déjà dépanné).

Je te propose cette alternative avec un tableau multidomensionnel :

VB:
Sub repart()

Dim NbLig As Integer
Dim NbLoop As Integer
Dim NbCol As Integer
Dim T()

NbLig = Application.CountA(Range("A1:A65536"))
NbLoop = 0
NbCol = -1

ReDim T(NbLig - 1, NbLig - 1)

    For i = 1 To NbLig
       
        T(i - 1, 0) = Range("A" & i).Value
        T(i - 1, 1) = Range("B" & i).Value
       
        Cells(5, 4 + i) = T(i - 1, 0)
       
            NbLoop = 0
           
            NbCol = NbCol + 1
             
            Do While Not NbLoop = T(i - 1, 1)
                                           
            Cells(5 + NbLoop, 5 + NbCol) = T(i - 1, 0)
           
            NbLoop = NbLoop + 1
                       
            Loop
       
     Next i

End Sub

Qu'en pensez-vous ?

Dieu08.
 
Bonjour 🙂

Merci également pour ton aide, deux approche très différente , mais c'est parfait car avec la solution de pierre jean , une suite de numero s'imbrique a la fin de mes reference et pour la tienne mes reference reste identique

ET c'est parfait car j'ai besoin de ses 2 cas c'est donc l'idéale merci a tous pour votre reponse 🙂
 
Re,

Script a priori fonctionnel :

VB:
Sub repart2()

Dim NbLig As Integer
Dim NbRep As Integer
Dim NbRep2 As Integer
Dim NbLoop As Integer
Dim NbCol As Integer
Dim T()

Worksheets("test").Activate

NbLig = Application.CountA(Range("A1:A65536"))
NbLoop = 0
NbRep = 0
NbRep2 = 0
NbCol = -1

ReDim T(NbLig - 1, NbLig - 1)

    For i = 1 To NbLig
      
        NbRep = Application.CountA(Range("E1:E65536"))
        NbRep2 = Application.CountA(Range("F1:F65536"))
          
        T(i - 1, 0) = Range("A" & i).Value
        T(i - 1, 1) = Range("B" & i).Value
        T(i - 1, 2) = Range("C" & i).Value
      
        Cells(5 + NbRep, 5) = T(i - 1, 0)
        Cells(5 + NbRep2, 6) = T(i - 1, 1)
      
            NbLoop = 0
          
            NbCol = NbCol + 1
            
            Do While Not NbLoop = T(i - 1, 2)
                                          
            Cells(5 + NbRep, 5) = T(i - 1, 0)
          
            Cells(5 + NbRep2, 6) = T(i - 1, 1)
          
            NbLoop = NbLoop + 1
          
            NbRep = Application.CountA(Range("E1:E65536"))
          
            NbRep2 = Application.CountA(Range("F1:F65536"))
                      
            Loop
      
     Next i

End Sub



Dieu08.
 
- 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

Discussions similaires

Réponses
4
Affichages
794
Réponses
7
Affichages
968
Réponses
16
Affichages
2 K
Réponses
10
Affichages
2 K
Réponses
10
Affichages
1 K
Retour