Copier valeur dans la première cellule vide dune ligne
Résolu
kgigant
Messages postés
202
Date d'inscription
Statut
Membre
Dernière intervention
-
kgigant Messages postés 202 Date d'inscription Statut Membre Dernière intervention -
kgigant Messages postés 202 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Copier valeur dans la première cellule vide dune ligne
- Aller à la ligne dans une cellule excel - Guide
- Partager photos en ligne - Guide
- Supprimer page word vide - Guide
- Comment copier une vidéo youtube - Guide
- Mètre en ligne - Guide
16 réponses
Salut,
Effectivement pas très clair, mais pour coller à la suite sur la feuille nommée
Feuil1 en prenant référence sur la colonne A
Sheets("Feuil1").Activate 'sélectionne la feuille du transfert
Range("A65000").End(xlUp).Offset(1).Select 'recherche la première cellule vide
ActiveSheet.Paste 'copie les données
Effectivement pas très clair, mais pour coller à la suite sur la feuille nommée
Feuil1 en prenant référence sur la colonne A
Sheets("Feuil1").Activate 'sélectionne la feuille du transfert
Range("A65000").End(xlUp).Offset(1).Select 'recherche la première cellule vide
ActiveSheet.Paste 'copie les données
Bonjour et merci de ton aide
je vais essayer d'être plus clair,
Ce que je recherche c'est copier la cellule D8 de la feuil2 en cellule B14 de la feuil1.
Puis à chaque fois que j'execute la macro j'aimerai quelle me colle la valeur de D8 feuil2 en C14, puis D14, puis E14... de la feuil1.
la macro doit copier la valeur de D8 feuil2 et la coller en feuil1 ligne 14 dans la première cellule non vide.
désolé c'est jamais évident d'expliquer son problème.
Merci
je vais essayer d'être plus clair,
Ce que je recherche c'est copier la cellule D8 de la feuil2 en cellule B14 de la feuil1.
Puis à chaque fois que j'execute la macro j'aimerai quelle me colle la valeur de D8 feuil2 en C14, puis D14, puis E14... de la feuil1.
la macro doit copier la valeur de D8 feuil2 et la coller en feuil1 ligne 14 dans la première cellule non vide.
désolé c'est jamais évident d'expliquer son problème.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
Si tu utilises un bouton ActiveX, on peut rechercher depuis la colonne DZ ligne 14 la première cellule non vide et on colle la valeur de la Feuil2
Private Sub CommandButton1_Click()
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2) = Sheets("Feuil2").Range("D8")
End Sub
Si c'est ce que tu cherches on peut simplifier la ligne, tu nommes la cellule cible D8 Feuil2 par exemple nommée titi
Sheets("Feuil1").[DZ14].End(xlToLeft)(1, 2) = [titi]
mais si tu nommes également la cellule de départ du balayage Feuil1 ligne 14 dans l'exemple DZ14 mais pourrait être la cellule de la dernière colonne XFD14 et nommée toto
la ligne de code se résume à
[toto].End(xlToLeft)(1, 2) = [titi]
il faudrait peut être effacer la cellule Sheets("Feuil2").Range("D8") après l'exécution de la macro pour éviter le collage en doublon
en ajoutant cette ligne
Sheets("Feuil2").Range("D8") .clearcontents
ou si cellule nommée
[titi].clearcontents
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Si tu utilises un bouton ActiveX, on peut rechercher depuis la colonne DZ ligne 14 la première cellule non vide et on colle la valeur de la Feuil2
Private Sub CommandButton1_Click()
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2) = Sheets("Feuil2").Range("D8")
End Sub
Si c'est ce que tu cherches on peut simplifier la ligne, tu nommes la cellule cible D8 Feuil2 par exemple nommée titi
Sheets("Feuil1").[DZ14].End(xlToLeft)(1, 2) = [titi]
mais si tu nommes également la cellule de départ du balayage Feuil1 ligne 14 dans l'exemple DZ14 mais pourrait être la cellule de la dernière colonne XFD14 et nommée toto
la ligne de code se résume à
[toto].End(xlToLeft)(1, 2) = [titi]
il faudrait peut être effacer la cellule Sheets("Feuil2").Range("D8") après l'exécution de la macro pour éviter le collage en doublon
en ajoutant cette ligne
Sheets("Feuil2").Range("D8") .clearcontents
ou si cellule nommée
[titi].clearcontents
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Re,
J'ai essayé ton code je n'arrive pas à le faire correctement fonctionner mais le peu que j'ai réussi me prouve que c'est la solution que je cherche.
Je n'arrive pas à faire le lien entre copier la valeur et aller la coller
J'ai essayé ton code je n'arrive pas à le faire correctement fonctionner mais le peu que j'ai réussi me prouve que c'est la solution que je cherche.
Je n'arrive pas à faire le lien entre copier la valeur et aller la coller
Je vais prendre un peu d'avance en attendant ce soir, dans la formule :
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2) = Sheets("Feuil2").Range("D8")
qu'est ce qu'il faut rajouter pour garder la mise en forme de la cellule source ?
J'ai essayé de le faire avec l'enregistreur de macro puis de rajouter le code à la suite mais ca ne fonctionne pas.
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2) = Sheets("Feuil2").Range("D8")
qu'est ce qu'il faut rajouter pour garder la mise en forme de la cellule source ?
J'ai essayé de le faire avec l'enregistreur de macro puis de rajouter le code à la suite mais ca ne fonctionne pas.
Re,
dans ton module Visual Basic colle ce code et associe le à un bouton
sub test ()
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2) = Sheets("Feuil2").Range("D8")
end if
dans ton module Visual Basic colle ce code et associe le à un bouton
sub test ()
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2) = Sheets("Feuil2").Range("D8")
end if
ok ca fonctionne mais admettons que ma case en D8 a une mise en forme spécifique, j'aimerais garder cette mise en forme lorsque je la colle en Feuil1, je dois rajouter un bout de code nn ? je n'arrive pas à le faire avec l'enregistreur de macro.
Merci encore
Merci encore
Re,
Voila le code
Sheets("Feuil2").Range("D8").Copy
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2).Select
ActiveSheet.Paste
Voila le code
Sheets("Feuil2").Range("D8").Copy
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2).Select
ActiveSheet.Paste
ok c'est bien ce qui me semblait on doit repasser avec le code copy, mais je retombe sur le même problème que j'avais, j'ai une erreur de macro à la deuxième ligne alors que je ne vois pas d'erreur.
Tu as fais un essai toi ? ca fonctionne ?
Tu as fais un essai toi ? ca fonctionne ?
Re,
Contrôle bien le nom de ton onglet, pas d'intervalle, il doit y avoir un problème à ce niveau différence de nom
complète ton code comme ceci
Sheets("Feuil2").Range("D8").Copy
Sheets("Feuil1").Activate
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2).Select
ActiveSheet.Paste
Application.CutCopyMode = False
mais si la commande se fait depuis la Feuil1 tu n'as pas besoin de cette ligne
Sheets("Feuil1").Activate
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Contrôle bien le nom de ton onglet, pas d'intervalle, il doit y avoir un problème à ce niveau différence de nom
complète ton code comme ceci
Sheets("Feuil2").Range("D8").Copy
Sheets("Feuil1").Activate
Sheets("Feuil1").Range("DZ14").End(xlToLeft)(1, 2).Select
ActiveSheet.Paste
Application.CutCopyMode = False
mais si la commande se fait depuis la Feuil1 tu n'as pas besoin de cette ligne
Sheets("Feuil1").Activate
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Suite à toutes tes réponse j'ai réussi à faire ce que je souhaitai, le dernier point consiste si tu à le temps à allèger la macro, je pense que quelques lignes peuvent remplacer mes 100 lignes (j'ai recopier 26 fois le meme code....)
je te mets le lien de mon fichier (modifié pour des raison de confidentialité)
https://www.cjoint.com/?3DwrAdgr9hn
Merci encore pour ton aide et ta disponibilité
je te mets le lien de mon fichier (modifié pour des raison de confidentialité)
https://www.cjoint.com/?3DwrAdgr9hn
Merci encore pour ton aide et ta disponibilité