Copier des cellules de la feuil1 vers la feuil2

  • Initiateur de la discussion Initiateur de la discussion ruben
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

ruben

Guest
Bonjour,
(je suis étudiant en stage et on ma charger de créer une base de données)
Mais connaissances en excel et VBA ce limite au 4 derniers jour de galer...

Je cherche à savoir comment copier des cellules de la feuil1 vers une ligne de la feuil2.

Les valeurs des cellules feuil1 change donc a chaque copie sur une ligne de la feuil2 je dois redescendre d'une ligne afin de garder un historique et que la precedente valeur ne soie pas écrasé.

Je souhaite faire sa en VBA.

J'ai deja esseyer plusieurs codes (ci-dessous le plus abouti) mais je en parviens toujours pas à faire le renvoie

Code:
Sub renvoie()
Dim casefin As Range
Set casefin = Worksheets("Feuil2").Range("A2").End(xlDown)

casefin.Offset(1, 0).Value = Worksheets("Feuil1").Range("A4")
casefin.Offset(1, 1).Value = Worksheets("Feuil1").Range("H3")
casefin.Offset(1, 2).Value = Worksheets("Feuil1").Range("I3")

End Sub

Je remercie la personne qui pourrais me donner quelques idées et conseils.

Cordialement
 
Re : Copier des cellules de la feuil1 vers la feuil2

Bonjour Ruben et bienvenue 🙂,
Ecrit plutôt
Code:
Set casefin = Worksheets("Feuil2").Range("A65000").End(xlUp)
sinon, une autre solution
Code:
Dim I As Long
With Sheets("Feuil2")
I = .Range("A65000").End(xlUp).Row + 1
.Cells(I, 1) = Sheets("Feuil1").Range("A4")
.Cells(I, 2) = Sheets("Feuil1").Range("H3")
.Cells(I, 3) = Sheets("Feuil1").Range("I3")
End With
Bonne journée 😎
 
Re : Copier des cellules de la feuil1 vers la feuil2

Bonjour ruben,

Si tu reprends ton code comme suit, ça devrait fonctionner.

Code:
Sub renvoie()
Dim casefin As Range
Set casefin = Worksheets("Feuil2").Range("A65536").End(xlUp)

casefin.Offset(1, 0).Value = Worksheets("Feuil1").Range("A4")
casefin.Offset(1, 1).Value = Worksheets("Feuil1").Range("H3")
casefin.Offset(1, 2).Value = Worksheets("Feuil1").Range("I3")

End Sub

Espérant avoir répondu.

Cordialement.

EDIT : bonjour JNP
 
Re : Copier des cellules de la feuil1 vers la feuil2

Merci beaucoup le recopiage marche parfaitement 🙂.
Il me reste toujour un probleme a resoudre, je m'explique:
Le fichier excel que je suis entrain de créer permet de saisir un code barre (avec une douchette) et directement l'imprimer.
Je suis parvenu à ce resultat. Toutefois vu que cette operation doit être rapide j'ai dû crér un clear cellule (cellule A4) et un restart sur la même afin d'automatise l'operation et pas devoir faire des manipulation a chaque fois. Cette parti fonctionne.

Maintenant le code barre qui entre dans la cellule A4 n'est pas recopié sur la feuil2 (dû au Clear je supose...)( les autres info informations fixe sont envoyé).
Et le but (autre que l'impression imediate) est de créer un rapport de passage sur la feuil2 avec Le code barre est les info associé a celui-ci.

J'aimerais pouvoir a chaque fois que le code barre est saisi le envoyé feuil2 non comme une recopie de cellule mais comme une information qui ne peu pas etre effacé lorsque la cellule de depart ce reinitialise. Et descendre de ligne automatiquement.

Le code que j'ai crée est le suivant:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$4" Then ' on afecte notre cellule A4 comme adresse cible
If Target.Value <> "" Then impression ' si la cible qui est la cellule dont on veut inserer le code barre est different de vide alors on actione le sub impression
End If
End Sub

Sub impression()

If (Range("A4").Value <> "" And Range("H3").Value <> "" And Range("I3").Value <> "" And Range("J3").Value <> "") Then
Range("B4").PrintOut ' permet de imprimer seulement si les case sont remplis
End If
Range("A4").Clear ' permet de reinitialiser la case
Dim revenir
revenir = ActiveCell.Address ' permet de revenir a la même case aprés clear
Range("A4").Select
End Sub


Sub renvoie()
Dim casefin As Range
Set casefin = Worksheets("Feuil2").Range("A65536").End(xlUp)

casefin.Offset(1, 0).Value = Worksheets("Feuil1").Range("A4")
casefin.Offset(1, 1).Value = Worksheets("Feuil1").Range("H3")
casefin.Offset(1, 2).Value = Worksheets("Feuil1").Range("I3")
casefin.Offset(1, 3).Value = Worksheets("Feuil1").Range("J3")
casefin.Offset(1, 4).Value = Worksheets("Feuil1").Range("K3")
End Sub


Je suis a court d'idées est si vous avez des idées je suis ouvert

Encore MERCI Beaucoup pour l'aide_

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
882
Réponses
4
Affichages
557
Retour