Excel - Copie de la valeur d'une cellule
Résolu/Fermé
A voir également:
- Excel copier la valeur d'une cellule
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Verrouiller cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
11 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
4 oct. 2010 à 15:45
4 oct. 2010 à 15:45
Sélectionner la valeur de la cellule de la feuille A, clic droit, copier
Sélectionner la feuille B, sélectionner la cellule destination, clic droit, coller
J'ai du mal à comprendre l'objectif, en effet la problématique indique qu'il n'y a qu'une cellule avec une valeur sur la feuille A
Sélectionner la feuille B, sélectionner la cellule destination, clic droit, coller
J'ai du mal à comprendre l'objectif, en effet la problématique indique qu'il n'y a qu'une cellule avec une valeur sur la feuille A
Tout à fait il n'y a qu'une cellule avec une valeur sur le feuilet A.
Cette valeur doit être exportée en automatique dans une cellule définie du feuilet B.
L'intêret est de pouvoir librement supprimer le feuilet A et que la valeur de la cellule dans le feuilet B soit toujours visible.
J'embarque une contrainte, le feuilet B doit reste vierge de toutes formules, voilà pourquoi je parle d'une exportation de A à B.
En soit le copier/coller est une bonne alternative manuelle mais je souhaite trouver une alternative automatique.
Merci pour votre réponse.
Cette valeur doit être exportée en automatique dans une cellule définie du feuilet B.
L'intêret est de pouvoir librement supprimer le feuilet A et que la valeur de la cellule dans le feuilet B soit toujours visible.
J'embarque une contrainte, le feuilet B doit reste vierge de toutes formules, voilà pourquoi je parle d'une exportation de A à B.
En soit le copier/coller est une bonne alternative manuelle mais je souhaite trouver une alternative automatique.
Merci pour votre réponse.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
4 oct. 2010 à 17:51
4 oct. 2010 à 17:51
Re,
Automatique, oui mais déclenché par quoi ?
Tu peux adapter ce code (à placer dans thisworkbook) qui est déclenché par toute modification de feuille (ou de cellule) :
Patrice
Automatique, oui mais déclenché par quoi ?
Tu peux adapter ce code (à placer dans thisworkbook) qui est déclenché par toute modification de feuille (ou de cellule) :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sh.Name = "A" And Target.Address = "$A$1" Then Worksheets("B").Range("A1").Formula = Sh.Range(Target.Address).Value End If End Sub
Patrice
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
4 oct. 2010 à 18:42
4 oct. 2010 à 18:42
Bonjour tout le monde,
Une autre proposition qui conserve la valeur si celle d'origine est supprimée :
eric
Une autre proposition qui conserve la valeur si celle d'origine est supprimée :
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [A1]) Is Nothing Then Exit Sub If Target.Value <> "" Then Worksheets("Feuil2").[A1] = Target.Value End Subà mettre dans la feuille "A"
eric
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
4 oct. 2010 à 19:03
4 oct. 2010 à 19:03
Bonjour eriiic,
boby veut pouvoir supprimer la feuille A, je suppose qu'il veut aussi pouvoir en rajouter une, sinon je ne voit pas trop l'intérêt d'écrire du code. S'il ne doit servir qu'une seule fois, le Copier - Coller est bien plus simple et plus rapide !
Attendons sa réponse ...
Cordialement
Patrice
boby veut pouvoir supprimer la feuille A, je suppose qu'il veut aussi pouvoir en rajouter une, sinon je ne voit pas trop l'intérêt d'écrire du code. S'il ne doit servir qu'une seule fois, le Copier - Coller est bien plus simple et plus rapide !
Attendons sa réponse ...
Cordialement
Patrice
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
4 oct. 2010 à 20:18
4 oct. 2010 à 20:18
Effectivement j'ai lu de travers... :-)
Je pensais supprimer la cellule.
A+
eric
Je pensais supprimer la cellule.
A+
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
5 oct. 2010 à 00:40
5 oct. 2010 à 00:40
Ecrire une macro pour éviter un copier-coller, c'est prendre un tank pour écraser une mouche, ou louer une berline pour aller acheter le pain ...
Re,
J'ai simplifié le problème à l'essentiel......
Vous allez comprendre les fondements de ma demande.
Je dois remplir un document Excel afin d'effectuer beaucoup d'audits techniques, environs 200.
Ce document à plusieurs feuillets, environ 15.
Je n'ai pas le droit de changer, d'interférer, ou de modifier les feuillet ni leurs tableaux.
Ce document est officiel.
J'ai repéré 75 questions orales et communes à chaque audit.
Ces 75 questions sont toutes réparties dans les 15 feuillets dans un ordre sans logique.
Elles attendent toutes une réponses que je dois normalement annoter dans une cellule précise.
Ma seule façon de gagner du temps durant un audit est de créé provisoirement une liste de ces 75 questions sur un même feuillet qui permet d'alimenter chaque cellules en attentes d'une réponse dans les 15 feuillets.
Une fois que l'ensemble des réponses sont dispatchées dans l'ensemble des feuillets et une fois que l'audit est terminé, je souhaite supprimer ce feuillet.
Alors le fichier Excel retrouvera son intégrité originale sans modification hormis les réponses de l'audit.
Voilà l'intérêt de trouver un copier/coller automatique, qui dès l'entrée d'une valeur se copie dans la bonne cellule du bon feuillet.
J'ai le droit que de modifier le feuillet provisoire avec la liste des 75 questions.
Voilà voilà...
J'ai simplifié le problème à l'essentiel......
Vous allez comprendre les fondements de ma demande.
Je dois remplir un document Excel afin d'effectuer beaucoup d'audits techniques, environs 200.
Ce document à plusieurs feuillets, environ 15.
Je n'ai pas le droit de changer, d'interférer, ou de modifier les feuillet ni leurs tableaux.
Ce document est officiel.
J'ai repéré 75 questions orales et communes à chaque audit.
Ces 75 questions sont toutes réparties dans les 15 feuillets dans un ordre sans logique.
Elles attendent toutes une réponses que je dois normalement annoter dans une cellule précise.
Ma seule façon de gagner du temps durant un audit est de créé provisoirement une liste de ces 75 questions sur un même feuillet qui permet d'alimenter chaque cellules en attentes d'une réponse dans les 15 feuillets.
Une fois que l'ensemble des réponses sont dispatchées dans l'ensemble des feuillets et une fois que l'audit est terminé, je souhaite supprimer ce feuillet.
Alors le fichier Excel retrouvera son intégrité originale sans modification hormis les réponses de l'audit.
Voilà l'intérêt de trouver un copier/coller automatique, qui dès l'entrée d'une valeur se copie dans la bonne cellule du bon feuillet.
J'ai le droit que de modifier le feuillet provisoire avec la liste des 75 questions.
Voilà voilà...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
5 oct. 2010 à 14:44
5 oct. 2010 à 14:44
Bonjour,
Nous comprenons mieux.
A ta place, je passerais : soit par une macro associée à un bouton, soit par un UserForm.
La procédure pour la macro est relativement simple, en gros ça donne quelque chose comme ça :
Et ceci pour toutes les cellules...
Exemple :
Nous comprenons mieux.
A ta place, je passerais : soit par une macro associée à un bouton, soit par un UserForm.
La procédure pour la macro est relativement simple, en gros ça donne quelque chose comme ça :
Private Sub CommandButton1_Click() Sheets("NomDeLaFeuilleDeDestination").Range("AdresseDeLaCelluleDestination").Value = Sheets("NomDeLaFeuilleSource")..Range("AdresseDeLaCelluleSource").Value End Sub
Et ceci pour toutes les cellules...
Exemple :
Private Sub CommandButton1_Click() Sheets("Feuil2").Range("A25").Value = Sheets("Questions").Range("B1").Value Sheets("Feuil3").Range("B12").Value = Sheets("Questions").Range("B2").Value etc... End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
Modifié par pijaku le 6/10/2010 à 08:57
Modifié par pijaku le 6/10/2010 à 08:57
Salut,
Si tu cliques à nouveau sur le bouton, les valeurs seront toutes remplacées.
Je n'avais pas pensé à la suppression de ta feuille...
Pour cela, il est possible de rattacher une macro à une barre d'outils personnalisée de ton excel. Je n'ai jamais tenté cette expérience. Le descriptif ici
Sinon tu peux toujours créer un UserForm et y placer ton bouton...
Ou alors, ne passe pas par un bouton. Place le code plus haut dans un module (en remplacant Private Sub CommandButton1_Click() par Sub Envoi_donnees()) et dans le menu Outils Macro, affecte un raccourci clavier à ta macro. par contre, en cas d'effacement de feuille, il faut que tu fasses attention car dans le code de la macro les feuilles sont appelées par leur nom...
Si tu cliques à nouveau sur le bouton, les valeurs seront toutes remplacées.
Je n'avais pas pensé à la suppression de ta feuille...
Pour cela, il est possible de rattacher une macro à une barre d'outils personnalisée de ton excel. Je n'ai jamais tenté cette expérience. Le descriptif ici
Sinon tu peux toujours créer un UserForm et y placer ton bouton...
Ou alors, ne passe pas par un bouton. Place le code plus haut dans un module (en remplacant Private Sub CommandButton1_Click() par Sub Envoi_donnees()) et dans le menu Outils Macro, affecte un raccourci clavier à ta macro. par contre, en cas d'effacement de feuille, il faut que tu fasses attention car dans le code de la macro les feuilles sont appelées par leur nom...
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
Modifié par Raymond PENTIER le 5/10/2010 à 14:01
Modifié par Raymond PENTIER le 5/10/2010 à 14:01
Non ! Mauvaise procédure ...
"Je n'ai pas le droit de changer, d'interférer, ou de modifier les feuillet ni leurs tableaux." Mais le classeur n'est pas protégé, sinon tu ne pourrais pas le renseigner. Donc, contrairement à ce que tu écris, rien ne t'empêche d'y mettre tes formules du type =feuilleA!A1 ou plutôt ='[classeur de saisie.xls]Feuil1'!$A$1
Ainsi tu peux utiliser ton classeur de saisie pour inscrire les réponses à tes 75 questions ; ton classeur officiel étant ouvert simultanément, il se met à jour au fur et à mesure de tes saisies. Pour terminer il te faudra sélectionner simultanément (touche shift) les 15 feuilles et la totalité de leur contenu (raccourci clavier ctrl+A), et faire Données/Connexions/Modifier les liens d'accès/Rompre la liaison. De cette façon les formules sont remplacées par les données.
Tu enregistres le classeur ainsi manipulé sous un nom du style "Audit DUPONT" ; ton classeur officiel reste intact et disponible pour un nouvel audit. Et tu fermes ton classeur de saisie sans enregistrer les modifications (ou en le sauvegardant sous un autre nom du style "Saisie DUPONT") afin de pouvoir le réutiliser.
Ce n'est pas jouable ?
C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
"Je n'ai pas le droit de changer, d'interférer, ou de modifier les feuillet ni leurs tableaux." Mais le classeur n'est pas protégé, sinon tu ne pourrais pas le renseigner. Donc, contrairement à ce que tu écris, rien ne t'empêche d'y mettre tes formules du type =feuilleA!A1 ou plutôt ='[classeur de saisie.xls]Feuil1'!$A$1
Ainsi tu peux utiliser ton classeur de saisie pour inscrire les réponses à tes 75 questions ; ton classeur officiel étant ouvert simultanément, il se met à jour au fur et à mesure de tes saisies. Pour terminer il te faudra sélectionner simultanément (touche shift) les 15 feuilles et la totalité de leur contenu (raccourci clavier ctrl+A), et faire Données/Connexions/Modifier les liens d'accès/Rompre la liaison. De cette façon les formules sont remplacées par les données.
Tu enregistres le classeur ainsi manipulé sous un nom du style "Audit DUPONT" ; ton classeur officiel reste intact et disponible pour un nouvel audit. Et tu fermes ton classeur de saisie sans enregistrer les modifications (ou en le sauvegardant sous un autre nom du style "Saisie DUPONT") afin de pouvoir le réutiliser.
Ce n'est pas jouable ?
C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
5 oct. 2010 à 14:04
5 oct. 2010 à 14:04
"J'embarque une contrainte, le feuilet B doit reste vierge de toutes formules, voilà pourquoi je parle d'une exportation de A à B. "
c'est une contrainte que tu t'imposes toi-même, mais qui n'est pas exigée par une autorité supérieure et qui ne se justifie pas.
Je me trompe ?
c'est une contrainte que tu t'imposes toi-même, mais qui n'est pas exigée par une autorité supérieure et qui ne se justifie pas.
Je me trompe ?
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
7 oct. 2010 à 01:59
7 oct. 2010 à 01:59
"Il semble que ce même fichier va être injecter dans une base de donnée"
Cette remarque n'est pas du tout contradictoire avec ma suggestion #10 : Le fichier que tu obtiens en fin d'opération respecte les prescriptions de ta hiérarchie, car il ne contient plus aucune formule.
Mon commentaire #11 ne remettait absolument pas en cause la procédure que j'avais développée, et qui m'apparaît comme la solution que tu devrais mettre en oeuvre, en attendant que la méthode XML (#12) ou modèle ADO (#20) prenne le relais.
Cette remarque n'est pas du tout contradictoire avec ma suggestion #10 : Le fichier que tu obtiens en fin d'opération respecte les prescriptions de ta hiérarchie, car il ne contient plus aucune formule.
Mon commentaire #11 ne remettait absolument pas en cause la procédure que j'avais développée, et qui m'apparaît comme la solution que tu devrais mettre en oeuvre, en attendant que la méthode XML (#12) ou modèle ADO (#20) prenne le relais.
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
5 oct. 2010 à 14:20
5 oct. 2010 à 14:20
boby, nous avons tous pris l'habitude, dans ce forum, d'évoquer uniquement le langage VBA (macros).
Mais dans ton cas, j'ai l'impression que la bonne solution aurait été de travailler avec le langage XML (balises). Donc si dans ton entourage professionnel il y a quelqu'un qui le pratique, tu es sauvé !
Mais dans ton cas, j'ai l'impression que la bonne solution aurait été de travailler avec le langage XML (balises). Donc si dans ton entourage professionnel il y a quelqu'un qui le pratique, tu es sauvé !
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
5 oct. 2010 à 16:14
5 oct. 2010 à 16:14
Salut Raymond,
@ boby : juste au cas ou tu aurais loupé ma réponse : lien
@ boby : juste au cas ou tu aurais loupé ma réponse : lien
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
6 oct. 2010 à 23:58
6 oct. 2010 à 23:58
Bonsoir,
Comme dit Raymond, tu pourrais utiliser un classeur séparé pour la saisie.
Avec une macro VBA, tu peux écrire directement dans le classeur cible sans l'ouvrir.
Consulte ce Tuto :
Lire et écrire dans les classeurs Excel fermés
Patrice
Comme dit Raymond, tu pourrais utiliser un classeur séparé pour la saisie.
Avec une macro VBA, tu peux écrire directement dans le classeur cible sans l'ouvrir.
Consulte ce Tuto :
Lire et écrire dans les classeurs Excel fermés
Patrice
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
7 oct. 2010 à 01:45
7 oct. 2010 à 01:45
Tu vois, boby, il y a toujours plusieurs manières, sous Excel, de traiter un problème et d'en obtenir la solution.
* Les formules classiques offrent déjà de sacrées performances.
* Les macros deviennent nécessaires quand l'exposé du problème contient les expressions "automatiquement, tout seul, dans la même cellule, depuis un autre classeur" ...
* Les cas très particulers, comme le problème que tu nous as soumis, peuvent trouver une procédure de résolution avec des outils plus complexes, qui s'apparentent à de la programmation : ce peut être le recours à XML (#12) ou au modèle ADO (#20). Mais là, il faut attacher sa ceinture et s'accrocher ... C'est du haut niveau !
* Les formules classiques offrent déjà de sacrées performances.
* Les macros deviennent nécessaires quand l'exposé du problème contient les expressions "automatiquement, tout seul, dans la même cellule, depuis un autre classeur" ...
* Les cas très particulers, comme le problème que tu nous as soumis, peuvent trouver une procédure de résolution avec des outils plus complexes, qui s'apparentent à de la programmation : ce peut être le recours à XML (#12) ou au modèle ADO (#20). Mais là, il faut attacher sa ceinture et s'accrocher ... C'est du haut niveau !