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 :

[Excel 2007] ActiveSheet.Range


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut [Excel 2007] ActiveSheet.Range
    Bonjour,

    J'utilise une macro qui me sélectionne des cellules dans une feuille Excel pour les envoyer dans un fichier word.
    Tout fonctionne mais j'aimerai maintenant récupérer ces cellules sur l'ensemble du classeur et je ne trouve pas la solution.

    Celle qui fonctionne est :

    Pour le classeur entier j'ai essayé :
    Si quelqu'un a la solution je suis preneur

    Merci

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Si je comprend bien, tu veux retourner toutes les cellules sélectionnées du classeur.

    Cette proposition boucle sur chaque onglet du classeur et affiche dans une msgbox les cellules sélectionnées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim Sh As Worksheet
     
    For Each Sh In ThisWorkbook.Worksheets
     
        Sh.Activate
        MsgBox Selection.Address
     
    Next

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Non en fait je veux encore garder un certain range de cellules.

    Ma macro actuelle est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("A10:X39").Copy
    et je veux appliquer la même chose sur l'ensemble des feuilles du classeur.

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Si tu copies toujours la même plage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim Sh As Worksheet
     
    For Each Sh In ThisWorkbook.Worksheets
     
         Sh.Range("A10:X39").Copy
     
     
         'ligne de collage vers Word     
     
     
    Next

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Merci Jérôme pour ta réponse.
    Je viens d'essayer mais cela me prend uniquement la dernière feuille du classeur.

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Tu as bien mis la ligne de collage word dans la boucle comme je le stipule le code dans mon précédent post?

    Donne nous ton code (cette partie) pour qu'on puisse analyser

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 21
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim oWdApp As Object 'Word.Application
    Dim oWdDoc As Object 'Word.Document
     
    'Lancer une instance Word
    Set oWdApp = CreateObject("Word.Application")
     
    'Ouvrir un nouveau document
    Set oWdDoc = oWdApp.Documents.Open("C:\Users\utilisateur\Contrat.docx")
     
    'Rendre Word visible
    oWdApp.Visible = True
     
    'Copier une plage depuis Excel
    ActiveSheet.Range("A10:X39").Copy
     
    'Coller la plage dans Word
    oWdApp.Selection.Paste
     
    'Annuler le mode couper/copier
    Application.CutCopyMode = False

  8. #8
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Essais comme cela

    A voir le collage dans word car je ne sais pas s'il écrasera le précédent
    un repositionnement est peut etre nécessaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Dim oWdApp As Object 'Word.Application
    Dim oWdDoc As Object 'Word.Document
    Dim Sh As Worksheet
     
    'Lancer une instance Word
    Set oWdApp = CreateObject("Word.Application")
     
    'Ouvrir un nouveau document
    Set oWdDoc = oWdApp.Documents.Open("C:\Users\utilisateur\Contrat.docx")
     
    'Rendre Word visible
    oWdApp.Visible = True
    For Each Sh In ThisWorkbook.Worksheets
       'Copier une plage depuis Excel
       Sh .Range("A10:X39").Copy
     
       'Coller la plage dans Word
       oWdApp.Selection.Paste
     
    Next Sh
     
    'Annuler le mode couper/copier
    Application.CutCopyMode = False

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/08/2013, 09h50
  2. [Excel 2007] rang de la sélection dans un Combobox
    Par Harry Covair dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/03/2009, 17h27
  3. Faire fonctionner des objets d'Excel 2007 sur Excel 2003 ?
    Par brunoperel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/12/2006, 20h52
  4. Réponses: 2
    Dernier message: 28/08/2006, 11h17
  5. [VBA Excel] problème de range avec find
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2005, 13h56

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