IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Ouvrir classeur 1 et coller dans la classeur 2


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut Ouvrir classeur 1 et coller dans la classeur 2
    Bonjour

    Je voulais que vous aidez je ne suis pas bien en vba, J'ai 2 classeurs je voulais un macro qui permet ouvrir la classeur 1 quand je suis dans le classeur 2 je dois ouvre la classeur 1 et copier le commentaire pour chaque numéro de client ce qui veux dire que y a plusieurs commentaires
    et je dois les coller dans la classeur 2.
    merci

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    il faudrait en savoir un peu plus :
    - les deux classeurs sont-ils dans le même dossier ?
    - les numéros de clients et les commentaires se trouvent sur quelle feuille et quelles cellules ? comment cette feuille est organisée ?
    - à quel endroit du classeur 2 dois-tu faire la copie ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Bonjour,
    Oui les deux classeurssont dans le meme dossier
    Pour ta deusieme question les deux classeurs sont les memes c'est seulement
    que la classeur 1 a ses commentaires je voulais copie les commentaires et le coller dans la classeur 2.
    ils ont le meme nom de feuille c'est sommaires,
    et aussi la ou on doit coller les commentaire son des couleur vert pour tous
    Merci

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Pour ta deusieme question les deux classeurs sont les memes c'est seulement
    que la classeur 1 a ses commentaires je voulais copie les commentaires et le coller dans la classeur 2.
    Si vraiment tes 2 classeurs sont identiques, hormis les commentaires, tu n'as pas besoin de VBA pour régler le problème. Tu ouvres classeur 1, tu n'ouvres pas l'autre et l'enregistres sous le nom de classeur 2 (le classeur 1 existera toujours) et le tour est joué. Mais j'imagine que ton problème n'est pas là, au cas où, quappelles-tu des commentaires, s'agit-il des commentaires apparents pour chaque cellule ou des cellules avec du texte ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Mais desfois il peut changer. je voulais créer un bouton qui ouvre le classeur 1 copier les commentaires qui sont dans la cellule I20 et le coller dans la classeur 2 dans la cellule I20. le collage se fait chaque I20, I27,I34, I41,I48, donc chaque 7 ligne on coller, je ne sais pas si vous me comprenez,
    SVP aider moi

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut précision
    essaies ce code en changeant, bien sur le nom des classeurs par leur véritables noms :
    code à mettre dans un bouton du classeur 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CommandButton1_Click()
    Dim Chemin As String, x As Long, Wb1 As Workbook, Wb2 As Workbook
    Set Wb2 = ThisWorkbook'représente le classeur 2
    Chemin = ThisWorkbook.Path & "\"
    Workbooks.Open (Chemin & "classeur 1 .xlsm")'classeur 1 à changer par véritable nom
    Set Wb1 = Workbooks("classeur 1.xlsm")'classeur 1 à changer par véritable nom
     
    For x = 20 To 48 Step 7
      Wb1.Range("I" & x).Copy
      Wb2.Range("I" & x).PasteSpecial Paste:=xlPasteComments
    Next x
    End Sub
    Si ce que tu appelles "commentaire" n'est que la valeur, alors prends ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
    Dim Chemin As String, x As Long, Wb1 As Workbook, Wb2 As Workbook
    Set Wb2 = ThisWorkbook'représente le classeur 2
    Chemin = ThisWorkbook.Path & "\"
    Workbooks.Open (Chemin & "classeur 1 .xlsm")'classeur 1 à changer par véritable nom
    Set Wb1 = Workbooks("classeur 1.xlsm")'classeur 1 à changer par véritable nom
     
    For x = 20 To 48 Step 7
      Wb2.Range("I" & x).value = Wb1.Range("I" & x).value
    Next x
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir Dominique
    Je suis certains que tu n'as pas testé tes codes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb1.Range("I" & x).Copy
    Avec Wb1 est une variable Workbook, tu as oublié d'indqiuer la feuille. Il fallait par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb1.Worksheets(1).Range("I" & x).Copy
    Autre chose, ces 2 lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open (Chemin & "classeur 1 .xlsm") 'classeur 1 à changer par véritable nom
    Set Wb1 = Workbooks("classeur 1.xlsm")
    peuvent être écrits directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Wb1 = Workbooks.Open(Chemin & "classeur 1 .xlsm")  'classeur 1 à changer par véritable nom

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    J'ai essayé les deux exemples mais j''ai un message d'erreur
    Propriété ou méthode non gérée par cet objet
    c'est a ce niveau
    1er
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb1.Range("I" & x).Copy
    Pour le 2ieme exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb2.Range("I" & x).Value = Wb1.Range("I" & x).Value

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    J'ai fait les modification que mercatog a aporté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb1.Worksheets(1).Range("I" & x).Copy
    mais j'ai un autre message d'erreur au niveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb2.Range("I" & x).PasteSpecial Paste:=xlPasteComments
    Proprieté ou methode non gérée par cet objet
    J'ai essayé de le corrigé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb2.Worksheets(1).Range("I" & x).PasteSpecial Paste:=xlPasteComments
    La méthode pasteSpecial de la classe Range a échoué
    Est ce que c'est possible de choisir le chemin du dosser de fois ils sont pas dans le méme dossier. Jeveux que l'utilisateur chosi le chemin
    Merci de m,avoir aidé

  10. #10
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour à tou(te)s, mercatog, awadd

    à mercatog
    Je suis certains que tu n'as pas testé tes codes
    effectivement, mea culpa, mais à l'heure où je l'ai fait, la fatigue commençait à gagner les neurones, je n'avais pas, non plus, envie de créer des fichiers juste pour un test.

    J'ai essayé de le corrigé par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb2.Worksheets(1).Range("I" & x).PasteSpecial Paste:=xlPasteComments
    à awadd :

    vérifies le nom de tes feuilles ou leur codename, s'agit-il de sheets(1) ?, tu peux remplacer par le nom, exemple, si ta feuille se nomme "toto" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Wb2.Worksheets("toto").Range("I" & x).PasteSpecial Paste:=xlPasteComments
    Est ce que c'est possible de choisir le chemin du dosser de fois ils sont pas dans le méme dossier
    Règles déjà ton problème actuel car, pour cette demande, qui vient contredire ta première affirmation :
    Oui les deux classeurssont dans le meme dossier
    il faut déjà que tu comprennes ce que tu fais, et :
    - si les dossiers ne sont pas les mêmes, sont-ils connus à l'avance ?
    - faut-il les chercher ?

    bonne journée à tou(te)s
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Bonne soirée
    Je vois que le code fait les copier et les coller mais il ne colle pas les données il laisse les cellules vide
    Voir le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      Dim Chemin As String, x As Long, Wb1 As Workbook, Wb2 As Workbook
    Set Wb2 = ThisWorkbook 'représente le classeur 2
    Chemin = ThisWorkbook.Path & "\"
    Workbooks.Open (Chemin & "Sommaire Comité de livraison - 2012-03-13.xls") 'classeur 1 à changer par véritable nom
    Set Wb1 = Workbooks("Sommaire Comité de livraison - 2012-03-13.xls") 'classeur 1 à changer par véritable nom
     
    For x = 20 To 48 Step 7
     
    '  Wb1.Worksheets(Sommaire).Range("I" & x).Copy
      Wb1.Worksheets(1).Range("I" & x).Copy
    '  Wb2.Range("I" & x).PasteSpecial Paste:=xlPasteComments
      Wb2.Worksheets(1).Range("I" & x).PasteSpecial Paste:=xlPasteComments
     
    Next x
    Merci de m'aider

  12. #12
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    Je vois que le code fait les copier et les coller mais il ne colle pas les données il laisse les cellules vide
    tu t'expliques très mal, je t'avais déjà demandé s'il s'agissait de données ou de commentaires attachés aux cellules et t'avais fourni deux exemples, 1 pour copier les commentaires, l'autre pour copier les données en tenant compte des remarques de mercatog, que dire de plus ?
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    C'est des commentaires je me suis tompé excuse moi

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/01/2013, 16h45
  2. [XL-2007] Copier des données d'un classeur et les coller dans un autre
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/06/2012, 06h18
  3. [XL-2003] Copier dans un classeur A et coller dans un classeur B
    Par awadd dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/03/2012, 15h04
  4. Copier et coller dans des classeurs différents qui sont fermés
    Par acine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/01/2012, 19h59
  5. Réponses: 7
    Dernier message: 22/06/2011, 18h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo