Copier cellule dans dernière ligne vide

[Résolu]
Signaler
Messages postés
44
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
17 mai 2012
-
Messages postés
44
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
17 mai 2012
-
Bonjour tout le monde,

Je reviens vers vous, car j'ai un petit souci avec le code ci-dessous.

Private Sub CommandButton1_Click()
    x = Range("A2:D2")
    DerLig = Range("A65536").End(xlUp).Row + 1
    Range("A" & DerLig) = x
End Sub

Il ne veut pas amener la plage x , il n'amène que la première cellule (A2) ??

Si quelqu'un a la gentillesse, je le remercie par avance !

Je joins le fichier ici.Bonne journée.

mOOm

8 réponses

Messages postés
272
Date d'inscription
lundi 12 janvier 2009
Statut
Membre
Dernière intervention
30 décembre 2015
1
Range("A" & DerLig) = x

Remplace sa par

Cells(Derlig,1).value
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
j = Columns("A:D") : ça ne veut rien dire !!!
puisque sans déclaration préalable j est un variant donc ici un Array à deux dimensions contenant  les 65000 lignes pour les quatre colonnes  
    For j = 1 To 4
        Rows(Derlig).Select   'rows(x).select  permet de sélectionner une rangée
    Next j
et en fait tu sélectionne successivement chacune des lignes 1 à 4 et en fin de boucle la sélection reste sur la quatrieme ligne

pour sélectionner un ensemble ce cellules
il faut faire
range ("A1:B2").select
ou
Range(cells(1,1),cells(2,2)).select
donc dans ton cas  ce serait
Range(cells(derlig,2),cells(derlig,4)).select
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
44
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
17 mai 2012

Re,


Okey merci pour les explications.


Ca marche impec !


Bravo Chef(fe ?)  et au plaisir de te relire.

mOOm
Messages postés
44
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
17 mai 2012

Hello Genildf,

Merci pour ta réponse.

Tu veux dire comme ceci...

Private Sub CommandButton1_Click()
    x = Range("A2:D2")
    Derlig = Range("A65536").End(xlUp).Row + 1
    Cells(Derlig, 1).Value
End Sub

Malheureusement ça ne joue pas.

J'ai aussi essayé vomme ceci mais en vain.

Private Sub CommandButton1_Click()
    x = Range("A2:D2")
    Derlig = Range("A65536").End(xlUp).Row + 1
    Cells(Derlig, 1).Value = x
End Sub

Je cherche encore mais rien a faire je n'y parviens pas !

Merci encore.

mOOm
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
bonjour
ton code se trouve où ? dans un userform ou dans une feuille ?
si c'est la premiere solution il faut faire référence à la feuille où tu veux que ce code s'éxécute
Private Sub CommandButton1_Click()
    x = sheets("feuil1").Range("A2:D2")
    Derlig = sheets("feuil1").Range("A65536").End(xlUp).Row + 1
    sheets("feuil1").Cells(Derlig, 1).Value = x
End Sub
si la feuille est active tu peux remplacer
sheets("feuil1") par ActiveSheet
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
44
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
17 mai 2012

Salut Pil-poil,

Merci pour ta réponse.

Donc le code c'est bien pour la feuille..

Euh non idem, il amène que la première cellule... A2
Que ce soit Activesheet ou Sheets("Feuil1") c'est idem.

Me suis-je bien exprimé avant.

Je souhaite donc qu'il amène la plage A2:D2 (x)

Je précise aussi que je travaile avec Excel 2003

Dans tous les cas, merci encore.

mOOm
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
oups !!! j'avais lu A2:B2
si tu veux copier plusieurs cellules il faut soit faire un Copy Paste des cellules soit
Private Sub CommandButton1_Click()
   <strike> x = Range("A2:D2")</strike>
    Derlig = Range("A65536").End(xlUp).Row + 1
for i = 1 to 4   
    Cells(Derlig, i).Value = cells(2,i)
next i

End Sub

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
44
Date d'inscription
vendredi 25 janvier 2008
Statut
Membre
Dernière intervention
17 mai 2012

Re,

Impec pil-poil !

J'essaye encore de sélectionner cette fameuse dernière ligne en faisant

Private Sub CommandButton2_Click()


    Derlig = Range("A65536").End(xlUp).Row + 1
   
    For i = 1 To 4
        Cells(Derlig, i).Value = Cells(2, i)
    Next i
   
    j = Columns("A:D")
   
    For j = 1 To 4
        Rows(Derlig).Select
    Next j
   
End Sub

il sélectionne bien la dernière ligne, mais entière !

As-tu une idée pour sélectionner la denière ligne, mais que de A à D ?

Dans tous les cas, bravo et merci encore de l'aide !

mOOm