Automatiser la création d'une liste

  • Initiateur de la discussion Initiateur de la discussion Raphael
  • 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 !

R

Raphael

Guest
Bonjour,

Quelqu'un pourrait-il m'indiquer de quelle manière modifier la formule contenue en B21 pour obtenir la création de la liste obtenue dans l'exemple par du copy coller et modif ponctuelle de la formule
 

Pièces jointes

Bonjour,

Place cette formule en B22
=INDEX(B$5:B$17;ENT(LIGNES(B$21:B21)/12)+1;1)&"_"&INDEX(C$5:C$17;SI(MOD(LIGNES(B$21:B21);12)=0;1;MOD(LIGNES(B$21:B21);12)+1);1)&"_"&INDEX(D$5😀$17;ENT(LIGNES(B$21:B21)/144)+1;1)

Et fait un glisser/déposer.

Bonne soirée, fait de beau rêve

@+Jean-Marie
 
Bonsoir,

Je rencontre un problème avec la formule. Jean-Marie, puis-je te demander de regarder le fichier pour voir ou cela bloque, SVP. Je n'arrive pas à passer à 2004.
Merci


Celeda
 

Pièces jointes

Bonsoir le forum

Par macro associé a un bouton

Option Explicit
Sub tous_les_fichiers()
Dim b As Byte, c As Byte, d As Byte
Dim i As Byte, j As Byte, k As Byte
Dim valeur As Variant
Dim ligne As Double
b = 0: c = 0: d = 0
Range("B5:B17").Select
For Each valeur In Selection
If valeur <> "" Then b = b + 1
Next
Range("C5:C17").Select
For Each valeur In Selection
If valeur <> "" Then c = c + 1
Next
Range("D5😀17").Select
For Each valeur In Selection
If valeur <> "" Then d = d + 1
Next
ligne = 21
For i = 1 To b
For j = 1 To d
For k = 1 To c
Cells(ligne, 2) = Cells(i + 4, 2) & "_" & Cells(k + 4, 3) & "_" & Cells(j + 4, 4)
ligne = ligne + 1
Next k: Next j: Next i
End Sub

A suivre
smiley_417.gif
 
Bonjour,

Ca c'est super sympa c'est toujours comme cela sur XLD : 2 en un !

Et si dans la vie on pouvait toujours avoir deux ou trois solutions.......

Merci Mytå

Merci Jean-Marie : je t'envoie le fichier de suite dans ta BAL.

Bonne journée.


Celeda
 
Bonjour, tout le monde

Voici la formule, à mettre en B22, et à faire glisser.

=INDEX(B$5:B$17;ENT((LIGNES(B$21:B21)-PLANCHER(LIGNES(B$21:B21);NBVAL(B$5:B$17)*12))/12)+1;1)&"_"&INDEX(C$5:C$17;SI(MOD(LIGNES(B$21:B21);12)=0;1;MOD(LIGNES(B$21:B21);12)+1);1)&"_"&INDEX(D$5😀$17;ENT(LIGNES(B$21:B21)/(NBVAL($B$5:$B$17)*12))+1;1)


Bonne fin de journée

@+Jean-Marie
 
Bonsoir,

Pour le fun je remets le fichier avec les deux versions des solutions qui fonctionnent parfaitement et une variante de Mytå:

Un ptit coup de macro - un ptit coup de formule
dafbugs_e0.gif



Mais Jean-Marie il faudra plus d'une dance...........pour que je comprenne tout (je t'envoie le fichier dans ta bal).

Un GRAND merci à tous les deux (c'est dans la database XLD)

Celeda
 

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
410
Réponses
8
Affichages
411
Retour