Copier cellule dans dernière ligne vide

Résolu
cs_antom Messages postés 44 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 17 mai 2012 - 20 avril 2009 à 11:17
cs_antom Messages postés 44 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 17 mai 2012 - 20 avril 2009 à 21:05
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

Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
20 avril 2009 à 11:38
Range("A" & DerLig) = x

Remplace sa par

Cells(Derlig,1).value
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
20 avril 2009 à 15:41
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
3
cs_antom Messages postés 44 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 17 mai 2012
20 avril 2009 à 21:05
Re,


Okey merci pour les explications.


Ca marche impec !


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

mOOm
3
cs_antom Messages postés 44 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 17 mai 2012
20 avril 2009 à 12:06
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
20 avril 2009 à 12:52
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
0
cs_antom Messages postés 44 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 17 mai 2012
20 avril 2009 à 13:11
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
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
20 avril 2009 à 13:22
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
0
cs_antom Messages postés 44 Date d'inscription vendredi 25 janvier 2008 Statut Membre Dernière intervention 17 mai 2012
20 avril 2009 à 15:17
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
0
Rejoignez-nous