Copier une plage de cellules jusqua la derniere ligne d'un tableau

bonjour le forum

je cherche "désespérément" à copier une feuille "copie bdc" sur une autre feuille "historique commandes"

j'ai déjà réaliser une partie de la macro (tant bien que mal ), mais je but sur la copie d'une plage de cellules pour la copier sur les lignes de dessous jusqu'à la dernière ligne vide du tableau .

je vous joint le fichier

merci par avance de votre aide précieuse

Bonjour,

à tester,

il faut sélectionner la plage au paravent

Sub RemplirVide()
For Each c In Selection 'sélectionner la plage à transformer
If c.Value = 0 Then c.Value = c.Offset(-1, 0).Value
Next
End Sub

bonjour i20100 et le forum

tout d'abord , merci pour cette réponse

comme tu peux le voir , je ne suis pas très à l'aise en vba , si je comprends en partie le code que tu me retournes il s'agit de faire une boucle sur la plage sélectionnée contenant des valeurs vides et de décaler d'une ligne vers le haut pour récupérer les valeurs à copier et avec la boucle les coller dans la plage .

mais , je ne vois pas comment sélectionner cette plage et comment placer ca dans le code, pourrais tu m'en dire plus .

par avance merci .

mais , je ne vois pas comment sélectionner cette plage et comment placer ca dans le code, pourrais tu m'en dire plus .

tu sélectionnes la plage B19:Bx et J19:Jx à l'aide de la touche ctrl puis tu exécute la macro Sub RemplirVide()

ou bien tu défini la plage à même la macro,

Sub RemplirVide2()
DerniereLigne = Cells(Rows.Count, "G").End(xlUp).Row
Set plg = Union(Range("B" & 19 & ":F" & DerniereLigne), Range("J" & 19 & ":J" & DerniereLigne))
For Each c In plg
If c.Value = 0 Then c.Value = c.Offset(-1, 0).Value
Next
End Sub

Merci i20100,

c'est parfait tout fonctionne !

Mais pour ma gouverne , peux tu m'expliquer ce code , car je ne comprends pas tout .

surtout le : Set plg = Union(Range("B" & 19 & ":F" & DerniereLigne), Range("J" & 19 & ":J" & DerniereLigne)).

merci infiniment, cela me permet d'avancer en VBA et de continuer mon projet sur lequel je stagnai depuis plusieurs jours

re,

est ce que tu comprends cette ligne ?

Set plg = Range("B19:F25,J19:J25")

Re

je comprends en partie

Set plg = Range("B19:F25,J19:J25")= on affecte la plage de cellules (range) à l'instruction Set, mais qu'est ce que Set exactement

cdlt

mais qu'est ce que Set exactement

on utilise l'instruction Set pour associer une référence d'objet à une variable

Oui ca y est, j'ai compris

merci pour tout

Rechercher des sujets similaires à "copier plage jusqua derniere ligne tableau"