Mode recopie
Bonsoir / jour à tous;
Je suis toujours dans un fichier, qui traine depuis un moment. mais bon c est pas grave
je cherche a recopier une formule mais celle ci s obstine à ne pas me faire une recopie incrementer.
Alors je peux me le taper à la paluche mais recopier pres de 10 000 fois le code m interesse pas.
Je prends toute les solutions pour ameliorer ma procedure.
Merci à tous.
cf mon fichier qui permet de comprendre le probleme.
Bonjour,
Le fichier le permet si bien qu'à mon avis on se fait tous des politesses depuis que tu as posté ton message: "Non, je vous en prie, vous étiez avant moi!" "Ah, mais je n'en ferai rien: honneur aux anciens!" "Si, si j'insiste et je n'en démordrai pas" etc...EricM38 a écrit :cf mon fichier qui permet de comprendre le probleme
Que représente le '5' que tu as inscrit en L1 de la feuille "Publipostage", que tu recopies par formule dans ta feuille "recherche_multiple" ... pour en tester la valeur dans les formules de la feuille "Publipostage"
Pourquoi, dans la feuille "Publipostage", n'y a-t-il plus aucune valeur dans les colonnes A, C et E, à partir de la ligne 11
Sans en savoir plus, difficile de trouver LA solution ... jette tout de même un œil au fichier joint (on ne sait jamais que ça te donnerait des idées?):
- j'ai concaténé les valeurs en colonne O de la feuille "recherche_multiple"
- en feuille "Publipostage", en N1, P1, R1, T1 et V1, j'ai inscrit le même formule à chaque fois (seule la référence de la cellule de départ change)
- sélectionne dans cette feuille, la plage N1:W2, prends la poignée de recopie et tire vers le bas
Le nombre 5 represente le nombre de colonne qu il me faut , la variable est de 1 à 5 pour le moment.
Avec ton code si je marque X (un chiffre) en L1 comment dois je re écrire ton code pour que mon X s applique.
Tout démarre à partir de la 11eme ligne car il y a un bandeau que je n ai pas mis pour raison de confidentialité.
Merci en tout cas pour ton code,
Bonne journée.
Dans la formule proposée, il n'y a pas de lien avec le nombre renseigné en L1 ... Quoi, si un jour tu veux une sixième colonne, tu voudrais t'éviter la recopie de la formule en première ligne, sur une sixième colonne, avant de copier cette fois, la plage N1 à Y2 vers le bas!? Cette manipulation tu la ferais 2 fois par heure?EricM38 a écrit :Avec ton code si je marque X (un chiffre) en L1 comment dois je re écrire ton code pour que mon X s applique
En tout état de cause, le nombre ne pourrait pas rester en L1 ... puisqu'il serait "écrasé" le jour où tu demanderas 7 colonnes!?
Dans le fichier transmis, tout s'arrête en ligne 11, pour les 6 premières colonnesEricM38 a écrit :Tout démarre à partir de la 11eme ligne car il y a un bandeau que je n ai pas mis pour raison de confidentialité.
Bref, un second essai, parce qu'il pleut ... Le nombre à renseigner figure en W1; les formules sont recopiées sur les colonnes de A à Q. Je te laisse adapter, si besoin.
j'adore merci beaucoup, je vais simplement l adapté a mes besoins.
Bonne journée / soirée
Salut Eric,
Salut U.Milité,
En "étudiant"
J'ai supprime la référence du nombre de colonnes dans 'PUBLIPOSTAGE' : elle se trouve déjà dans la BDD. Un seul endroit suffit pour une variable qui est prise en compte par la macro ci-dessous.
Donc, j'ai "configuré"
Calcul qui se lance via le petit bouton rouge à la Curulis! 8) dans 'PUBLIPOSTAGE'.
Private Sub cmdGO_Click()
'
Dim tMulti
'
With Worksheets("MultiRec")
iRow = .Range("B" & Rows.Count).End(xlUp).Row
tMulti = .Range("B21:D" & iRow)
iDiv = .[D19]
End With
'
Application.ScreenUpdating = False
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
iCol = Cells(1, Columns.Count).End(xlToLeft).Column
sCol = Split(Columns(iCol).Address(ColumnAbsolute:=False), ":")(1)
Range("A1:" & sCol & iRow).ClearContents
For x = 1 To UBound(tMulti, 1)
If x Mod iDiv = 1 Then iIdx1 = iIdx1 + 1
iLig = -1 + (iIdx1 * 2)
iCol = IIf(x Mod iDiv = 0, -1 + (2 * iDiv), -1 + (2 * (x Mod iDiv)))
'
iBx = tMulti(x, 1)
iCx = tMulti(x, 2)
iDx = tMulti(x, 3)
Cells(iLig, iCol) = iBx & " " & iCx & Chr(10) & iDx
Next
'
Columns("A:Z").AutoFit
Application.ScreenUpdating = True
'
End SubSi mon interprétation du fichier est erronée, vous serez gentils de ne pas tirer sur le pianiste!
Bon travail!
A+