Automatiser la création d'une liste

  • Initiateur de la discussion Raphael
  • Date de début
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

  • Liste.xls
    18.5 KB · Affichages: 74
  • Liste.xls
    18.5 KB · Affichages: 72
  • Liste.xls
    18.5 KB · Affichages: 76
J

Jean-Marie

Guest
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:D$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
 
C

Celeda

Guest
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

  • Creationlisteautomatique.zip
    9.7 KB · Affichages: 23
  • Creationlisteautomatique.zip
    9.7 KB · Affichages: 26
  • Creationlisteautomatique.zip
    9.7 KB · Affichages: 23
M

Mytå

Guest
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:D17").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
 
C

Celeda

Guest
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
 
J

Jean-Marie

Guest
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:D$17;ENT(LIGNES(B$21:B21)/(NBVAL($B$5:$B$17)*12))+1;1)


Bonne fin de journée

@+Jean-Marie
 
C

Celeda

Guest
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

  • Creationlisteautomatique.zip
    17.6 KB · Affichages: 30
  • Creationlisteautomatique.zip
    17.6 KB · Affichages: 23
  • Creationlisteautomatique.zip
    17.6 KB · Affichages: 29

Discussions similaires

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko