Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 copie de cellule a partir d'un effectif

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 !

fkrystal21

XLDnaute Nouveau
bonjour a tous

j' aurai besoin d 'aide pour un tableau, je suis débutante avec excel et recherche une formule ou autre facon possible de copier X fois une cellule sur un tableau a partir d' une base de données. bien sur les cellules devront se suivre sur 4 colonnes et ne pas laisser de vide.

c'est un peu compliqué a expliquer


ex

base de données

C1 mixé 4
C1 Mouliné 6
C2 mixé 6
C2 mouliné 7
etc......


feuille 2

C1 mixé C1 mixé C1 mixé C1 mixé
C1 mouliné C1mouliné C1mouliné C1 mouliné
C1 mouliné etc.......

je vous remercie d 'avance de vos aide
 
Bonjour fkrystal21, JHA,

En Feuil2 formule en A2 à tirer à droite et vers le bas :
Code:
=REPT('Base de données'!$A1;COLONNES($A2:A2)<='Base de données'!$B1)
Formule en A1 pour savoir jusqu'où il faut tirer la formule :
Code:
="Tirez la cellule A2 vers la droite jusqu'à "&ADRESSE(2;MAX('Base de données'!B:B);4)&" puis vers le bas jusqu'à la ligne "&EQUIV(9^9;'Base de données'!B:B)+1
A+
 

Pièces jointes

Dernière édition:
Réactions: JHA
Voyez le fichier .xlsm joint et cette macro dans le code de Feuil2 :
VB:
Private Sub worksheet_activate()
Dim ncol%, tablo, nlig&, resu(), i&, x$, j&, n&
ncol = 4 'nombre de colonnes de destination, à adapter
With Feuil1.[A1].CurrentRegion
    tablo = .Resize(, 2) 'matrice, plus rapide
    nlig = Application.Ceiling(Application.Sum(.Columns(2)) / ncol, 1)
    ReDim resu(1 To nlig, 1 To ncol)
End With
For i = 1 To UBound(tablo)
    x = tablo(i, 1)
    For j = 1 To tablo(i, 2)
        resu(1 + Int(n / ncol), 1 + n Mod ncol) = x
        n = n + 1
Next j, i
'---restitution---
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A1] '1ère cellule de restitution, à adapter
    .Resize(nlig, ncol) = resu
    .Resize(nlig, ncol).Borders.Weight = xlThin 'bordures
    .Offset(nlig).Resize(Rows.Count - nlig - .Row + 1, ncol).Delete xlUp 'RAZ en dessous
End With
With UsedRange: End With 'actualise la barre de défilement verticale
End Sub
Elle se déclenche quand on active la feuille.

PS : vos résultats étaient erronés, il y a 9 "C3 mixé" et non pas 11.
 

Pièces jointes

- 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
13
Affichages
488
Réponses
12
Affichages
680
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…