Filldown et incrémentation

Bonjour,

La fonction Filldown n'est pas censée incrémenter les cellules ?

Quand j'exécute ma macro il n'y a pas d'incrémentation :

Sub test()
Range("L2").Select
    moncode = InputBox("Code avec des lettres")
    ActiveCell.FormulaR1C1 = moncode & " " & "00001"
    Range([L2], Range("L2")(1, 0).End(xlDown)(1, 0)).FillDown
End Sub

Pouurait-on m'expliquer pourquoi ? Je pensais que ca le faisait.

Bonjour,

Chez moi ton code copie de L3 à L65536 ce qui est dans la cellule L2. Est-ce bien cela que tu veux.

Cdlt,

Bonjour,

Essaye ceci :

Sub test()
Dim moncode As String
    moncode = InputBox("Code avec des lettres")
    Range("L2") = moncode & " " & "00001"
    Range("L2", Range("L2").End(xlDown)).FillDown
End Sub

Comme dit Raja, cela remplit jusqu'au bas de feuille. Est-ce vraiment nécessaire car cela alourdit la feuille inutilement.

Amicalement

Dan

En effet ca remplit jusqu'en bas, et ce n'est pas ce que je souhaite bien entendu.

C'est possible avec un Filldown de vérifier si les colonnes d'à coté ne sont pas vide ?

Ou alors faire une incrémentation par le code avec une variable.

Et pour ton code Nad-Dan ca ne me fait pas d'incrémentation non plus.

re,

tu dis :

si les colonnes d'à coté ne sont pas vide ?

Quelle colonnes et jusqu'à quelle ligne ?

Et si tu plaçais un fichier avec ce que tu veux faire car si tu ajoutes chaque fois une nouvelle donnée le code sera chaque fois à réétudier.

sinon dans mon code remplace

Range("L2", Range("L2").End(xlDown)).FillDown

par

Range("L2").AutoFill Destination:=Range("L2:L65536")

A te relire

Dan

Non non je veux rien rajouter d'autre mais on m'a fait remarquer que ca remplissait jusqu'au bout de la feuille excel, et c'est vrai. Je veux que ca s'arrete au niveau des autres lignes bien sur mais sans mettre une donnée fixe.

Je mets un fichier pour avoir le visuel.

https://www.excel-pratique.com/~files/doc/Filldown.xls

Quand il fallait concaténer c'était plus simple je le faisais jusqu'au bout du tableau excel puis un copier/coller valeur, mais la il faut le faire autrement. C'est pour ca que je disais qu'il fallait peut être faire une boucle puis une incrémentation par le code, mais il me faudrait une piste.

Je vous remercie.

re,

Merci de ton fichier.

Essaye ce code:

Sub test()
'Macro par Dan pour Cadwel le 15/04/08
Dim moncode As String
Dim i As Integer
moncode = InputBox("Code avec des lettres")
For i = 2 To Range("A65536").End(xlUp) + 1
Range("L" & i) = moncode & Format(i - 1, " 0000")
Next
End Sub

Cela suppose que la colonne A est toujours complétée comme tu l'as fait dans ton fichier.

Amicalement

Dan

Super ca fonctionne bien.

Je l'aurais pas trouvé ce code, il est intéressant je vais le travailler pour bien le comprendre. Il lui faut une colonne avec des chiffres incrémentés si j'ai bien compris.

Merci Nad-Dan.

Donc au cas ou je n'ai pas de colonne comme en A je la créer en B en supposant que ma colonne A est remplie :

Sub test()
Dim moncode As String
Dim i As Integer
Dim f As Integer
moncode = InputBox("Code avec des lettres")
f = 1

[B2].Select
While ActiveCell.Offset(0, -1) <> ""
ActiveCell.FormulaR1C1 = f
ActiveCell.Offset(1, 0).Activate
f = f + 1
Wend

For i = 2 To Range("B65536").End(xlUp) + 1
Range("L" & i) = moncode & Format(i - 1, " 00000")
Next
End Sub

Et je devrais m'en sortir dans les autres situations.

Rechercher des sujets similaires à "filldown incrementation"