Excel - Copier le contenu de cellule active [Résolu/Fermé]
A voir également:
- Excel - Copier le contenu de cellule active
- Excel - Copier le contenu de cellule active ✓ - Forum - Excel
- Excel copier texte d'une cellule à une autre ✓ - Forum - Excel
- Copier automatiquement une cellule sur une autre - Forum - Excel
- [VB / EXCEL] Copier une serie de cellule ✓ - Forum - VB / VBA
- Excel : regrouper le contenu de cellules... ✓ - Forum - Programmation
2 réponses
ptidavid
- Messages postés
- 1271
- Date d'inscription
- jeudi 3 août 2006
- Statut
- Membre
- Dernière intervention
- 16 février 2010
Alors voici une solution, pas à pas. Dans Excel :
- clique sur le menu Outils, puis sur Macro et dans la liste qui apparaît, sur "Visual Basic Editor",
- dans l'explorateur de projets VBAProject à gauche de l'écran, tu as tes différentes feuilles de ton classeur Excel. Prenons par exemple la feuille intitulée Feuil1 dans Microsoft Excel Objects. Double-clique sur "Feuil1 (feuil1)"
- une page de code vierge s'ouvre alors devant toi. Juste en haut de celle-ci, tu as marqué dans une liste déroulante "Général". Clique sur ce dernier et choisis plutôt "Worksheet". La liste déroulante de droite s'est alors mise à jour : ouvre-la et choisis "SelectionChange". SelectionChange est en fait une macro qui s'exécute à chaque fois que tu changes de cellule active dans ta feuille Excel. Tu n'as plus qu'à y intégrer le code pour copier le contenu de la cellule active dans chaque nouvelle cellule où tu cliqueras.
- dans la nouvelle page, tu as le contenu suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Private Sub etc. est l'entête/le nom/le début de ta macro et End Sub indique la fin de celle-ci. Tout le contenu de ta macro est donc à écrire entre cet entête et le End Sub.
- pour en venir à l'instruction de copie de cellule, la cellule active se dit ActiveCell en VBA Excel. La valeur contenue dans cette cellule se dit ActiveCell.Value. Une cellule quelconque en Excel s'écrit Cells(ligne,colonne), sa valeur étant Cells(ligne,colonne).Value.
Donc, si par exemple tu veux copier le contenu de la cellule A1,B1 dans une cellule sur laquelle tu as cliqué (et qui devient du coup active), voici l'instruction à insérer dans le corps de la macro :
ActiveCell.Value = Cells(1, 1).Value
Au final ta macro sera comme suit :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.Value = Cells(1, 1).Value
End Sub
Ensuite sauvegarde la macro, puis fais un test en écrivant ce que tu veux dans la cellule A1,B1, en validant, puis en cliquant n'importe où ailleurs sur la feuille. Puis je te laisse adapter la cellule que tu souhaites copier ;-)
Voilà, j'espère t'avoir aidé. Si ce n'est pas exactement ce que tu recherchais, n'hésite pas à me corriger.
- clique sur le menu Outils, puis sur Macro et dans la liste qui apparaît, sur "Visual Basic Editor",
- dans l'explorateur de projets VBAProject à gauche de l'écran, tu as tes différentes feuilles de ton classeur Excel. Prenons par exemple la feuille intitulée Feuil1 dans Microsoft Excel Objects. Double-clique sur "Feuil1 (feuil1)"
- une page de code vierge s'ouvre alors devant toi. Juste en haut de celle-ci, tu as marqué dans une liste déroulante "Général". Clique sur ce dernier et choisis plutôt "Worksheet". La liste déroulante de droite s'est alors mise à jour : ouvre-la et choisis "SelectionChange". SelectionChange est en fait une macro qui s'exécute à chaque fois que tu changes de cellule active dans ta feuille Excel. Tu n'as plus qu'à y intégrer le code pour copier le contenu de la cellule active dans chaque nouvelle cellule où tu cliqueras.
- dans la nouvelle page, tu as le contenu suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Private Sub etc. est l'entête/le nom/le début de ta macro et End Sub indique la fin de celle-ci. Tout le contenu de ta macro est donc à écrire entre cet entête et le End Sub.
- pour en venir à l'instruction de copie de cellule, la cellule active se dit ActiveCell en VBA Excel. La valeur contenue dans cette cellule se dit ActiveCell.Value. Une cellule quelconque en Excel s'écrit Cells(ligne,colonne), sa valeur étant Cells(ligne,colonne).Value.
Donc, si par exemple tu veux copier le contenu de la cellule A1,B1 dans une cellule sur laquelle tu as cliqué (et qui devient du coup active), voici l'instruction à insérer dans le corps de la macro :
ActiveCell.Value = Cells(1, 1).Value
Au final ta macro sera comme suit :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.Value = Cells(1, 1).Value
End Sub
Ensuite sauvegarde la macro, puis fais un test en écrivant ce que tu veux dans la cellule A1,B1, en validant, puis en cliquant n'importe où ailleurs sur la feuille. Puis je te laisse adapter la cellule que tu souhaites copier ;-)
Voilà, j'espère t'avoir aidé. Si ce n'est pas exactement ce que tu recherchais, n'hésite pas à me corriger.
touroul
- Messages postés
- 394
- Date d'inscription
- mardi 5 octobre 2010
- Statut
- Membre
- Dernière intervention
- 21 novembre 2020
Bonjour la communauté.
Pardon de déterrer ce sujet un peu poussiéreux qui reste toutefois d'actualité.
Dans le même genre, j'aurais besoin de réaliser une simple copie de l'ActiveCell dans le presse-papier (pour aller le coller ailleurs).
De plus, j'aurais besoin de limiter cette fonction aux cellules B3:B20 sur les feuilles "Soudure" et "Collage".
J'en suis là :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ("B3:B20")
Then Range.ActiveCell.Value.Select
Selection.Copy
End Sub
Puis-je vous demander un coup de main ?
Merci d'avance !
------------Sujet déplacé vers nouveau post -------
Pardon de déterrer ce sujet un peu poussiéreux qui reste toutefois d'actualité.
Dans le même genre, j'aurais besoin de réaliser une simple copie de l'ActiveCell dans le presse-papier (pour aller le coller ailleurs).
De plus, j'aurais besoin de limiter cette fonction aux cellules B3:B20 sur les feuilles "Soudure" et "Collage".
J'en suis là :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ("B3:B20")
Then Range.ActiveCell.Value.Select
Selection.Copy
End Sub
Puis-je vous demander un coup de main ?
Merci d'avance !
------------Sujet déplacé vers nouveau post -------
Merci et ce don doit être cultivé et dupliquer .
Merci !