EXCEL : comment copier/coller variables ?

Résolu/Fermé
BENERACH Messages postés 6 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 1 juin 2012 - 28 mars 2012 à 16:45
 benerach - 20 avril 2012 à 11:23
Bonjour,

Je souhaiterais copier des données se situant dans un onglet vers un autre onglet.
Jusque là pas de problème, mais je veux que la copie soit effectuée automatiquement (style macro ou formule) au bon endroit en fonction d'un élément commun au deux onglets !
C'est super du à expliquer !
Je souhaiterais joindre le fichier en exemple, mais je ne vois pas comment on fait ?

Merci++

A voir également:

6 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
28 mars 2012 à 18:10
Bonjour,
pour joindre une pièce
mettre le classeur sans données confidentielles, au format Excel 97-2003, en pièce jointe sur
https://www.cjoint.com/
et faire un clic droit sur le lien proposé puis "copier l'adresse du lien" et coller dans le message de réponse
0
BENERACH Messages postés 6 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 1 juin 2012
30 mars 2012 à 09:32
Bonjour,
Voici le lien. merci ++

https://www.cjoint.com/?BCEjFI2VOYf
0
Raymond PENTIER Messages postés 58714 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 novembre 2024 17 228
28 mars 2012 à 18:10
On utilise https://www.cjoint.com/ pour créer un lien, qu'on colle dans le message.
0
BENERACH Messages postés 6 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 1 juin 2012
29 mars 2012 à 17:05
Bonjour,

Voici le fichier... enfin j'espère que j'ai tout bien fait.

Merci++


https://www.cjoint.com/?BCDrdV30Dm9BCDrdV30Dm9
0
Raymond PENTIER Messages postés 58714 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 novembre 2024 17 228
29 mars 2012 à 23:28
Non, tu as loupé l'avant-dernière étape :
Après avoir cliqué sur "Copier le lien", une fenêtre s'affiche, qui te demande "Voulez-vous autoriser l'accès ... ?" et tu n'as pas coché "Autoriser l'accès".
Alors recommence.
0
BENERACH Messages postés 6 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 1 juin 2012
30 mars 2012 à 09:30
Bonjour,

https://www.cjoint.com/?BCEjDg8HxrU

Cette fois ci j'ai bien coché "autoriser l'accès"...

Merci +++ pour ta patience, je découvre !
0
Raymond PENTIER Messages postés 58714 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 3 novembre 2024 17 228
30 mars 2012 à 14:33
En attendant que quelqu'un t'écrive une macro efficace, et comme tu n'as que trois valeurs à récupérer, et qu'elles sont côte-à-côte sur les deux feuilles, et comme de toutes façons tu ne peux traiter qu'un devis à la fois, je te suggère de faire un simple copier coller de F9:H9 sur DONNEES!L2:N2 ; ça te demande seulement deux clics au lieu d'un seul sur le bouton de la macro ...
0
BENERACH Messages postés 6 Date d'inscription mercredi 28 mars 2012 Statut Membre Dernière intervention 1 juin 2012
30 mars 2012 à 15:03
Merci ++
Ce fichier est destiné à être dupliqué en 5 exemplaires, et 5 utilisateurs ; le copier/coller automatique que j'avais imaginé aurait dû être fait pour leur simplifier la vie, meme si effectivement ce n'est pas grand chose... mais peut-être que quelqu'un me trouvera une petite macro qui va bien ! en attentant merci +++
0

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

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 30/03/2012 à 17:17
Bonjour

ci joint proposition VBA; la macro se déclenche lorsque tu changes le devis en cellule C6
https://www.cjoint.com/?3CErlH7IgDt

pour voir et modifier la macro clic droitsur l'onglet vert "éléments revisés"-visualiser le code

le dit-code
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim devis_m As String, rep As Byte, ecarts, lig As Integer

If Target.Address = "$C$6" Then
     devis_m = Target
     rep = MsgBox(devis_m & " est sélectionné pour copier les écarts." & vbLf & _
               "Continuer ?", vbYesNo)
               If rep = vbNo Then Exit Sub
      ecarts = Range("F9:I9").Value
      
     With Sheets("donnees")
          lig = .Columns("E").Find(devis_m, .Range("E1"), xlValues).Row
          .Range(.Cells(lig, "L"), .Cells(lig, "N")) = ecarts
     End With
     
     rep = MsgBox("copie des écarts de " & devis_m & " en feuille ""donnees"" réussi" & vbLf & _
               "voir ?", vbYesNo)
               If rep = vbYes Then Sheets("donnees").Activate
 End If
End Sub

Michel
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 2/04/2012 à 14:01
Normalement, il ne faudrait pas déclencher la macro sur le changement en C6 mais j'attend que benerach veuille bien se manifester....
0
Bonjour,

C vraiement trop top !!! Quelle chance tu as, de savoir faire des truc pareils ! Si je savais cela me simplifierais la vie bien souvent !

La seule petite chose qui me chagrine, c'est que effectivement je ne souhaitais pas que les données soient copiées dans la feuille "Données" dés le départ.
L'idée est de choisir le num de devis en C6. Cette action alimente les cellules E6 à I6.
Puis des lignes d'écart sont créées selon le besoin, générant ainsi des sommes qui sont aditinnées de F9 à H9. Et c'est une fois que les écarts auraient été listés et chiffrés que je souhaiterais que ta SUPER MEGA maco copi/colle dans la feuille "Données" les infos au bon endroit (comme c'est déjà le cas dans la macro).

Je pense que c'est ce que tu voulais dire dans le second message !?

Merci+++++ c'est déjà vraiement super !
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 2/04/2012 à 16:18
re,

Je pense que c'est ce que tu voulais dire dans le second message !? oui

A mon avis (mais...) il faudrait peut-être nettoyer le tableau (B12:H45) et C6 à la fin de la macro?
tu dis , j'attends ta réponse avant d'adapter la macro
La macro sera déclenché par un bouton...
0
re,
Si ton idée de nettoyage et de mettre au propre la page avant une nouvelle saisie d'écart pour une nouvelle cotation, alors c'est ok.
Pour le bouton qui copiera/collera les infos, à la fin de la saisie des écarts c'est ok aussi. (C6 reste tout de même accessible dés le début pour alimenter les cellules E6 à I6, n'est ce pas ?).
Millessssss mercissssssssss
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 2/04/2012 à 17:52
ci joint modifications

https://www.cjoint.com/?3DcrVCrqLuT
la macro est maintenant dans le module 1
le code du bouton se trouve dans le module-feuille " elements révisés" de l'éditeur visual basic

il faut que tu modifies les formules E6:I6 avec un SI (C6="";"";RECH....etc)
Michel
0
Merci +++++
Cela m'a l'air tout à fait SUPER....
Je vais tester et te dis si tout ok (vendredi)
Encore merci
0
Mon PC fut HS durant plus d'une semaine, je n'ai donc pas pu répondre comme prévu (vendredi). Mais je tiens à le faire maintenant que tout est rétabli.
Donc, tout est ok et fonctionne très bien !
Merci bcq ce vraiement super.
0