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 :

effectuer une macro dans un workbook


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 44
    Par défaut effectuer une macro dans un workbook
    Bonsoir à tous,

    J'ai une macro que j'aimerais effectuer sur l'ensemble des feuilles de mon workbook sauf une ("OT"). J'ai tenté un truc, mais je suis bloqué au niveau de la ligne rouge de mon programme.

    Merci d'avance de votre aide

    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
    Sub copie()
    Dim Dest As Range
    Dim sh As Worksheet
    With ActiveWorkbook
      For Each sh In ActiveWorkbook
      If sh.Name <> "OT" Then
      Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
    Sheets("Feuil3").Range("I82:AN92").Copy Destination:=Dest
    Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
    Sheets("Feuil3").Range("AO82:BT92").Copy Destination:=Dest
    Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
    Sheets("Feuil3").Range("BU82:CZ92").Copy Destination:=Dest
    Set Dest = Nothing
    End If
      Next sh
      End With
    
    End Sub

  2. #2
    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
    Tu veux faire quoi au juste?
    copier les plages issues de toutes les feuilles vers la feuille OT?

    Si c'est le cas
    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
    Sub copie()
    Dim Dest As Range
    Dim Sh As Worksheet
     
    For Each Sh In ActiveWorkbook.Worksheets
         If Sh.Name <> "OT" Then
              Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
              Sh.Range("I82:AN92").Copy Dest
              Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
              Sh.Range("AO82:BT92").Copy Dest
              Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
              Sh.Range("BU82:CZ92").Copy Dest
              Set Dest = Nothing
         End If
    Next Sh
    End Sub

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 44
    Par défaut
    c'est exactement ça que je veux. Mais il subsiste un problème : en fait, la macro me copie/colle toujours la même plage de donnée (celle contenue sur la première feuille) et non chaque plage de données sur chaque feuille

  4. #4
    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
    Si tu explique clairement ce que tu veux faire au lieu qu'on galère à deviner
    ce que j'ai compris, tu as une classeur avec plusieurs feuilles dont une nommée OT.
    tu veux rapatrier les données les unes à la suite des autres de toutes les feuilles vers la feuille OT.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 44
    Par défaut
    J'ai un fichier contenant plusieurs feuilles dont une nommée OT. Sur Chaque feuille (sauf pour la feuille OT), je cherche à copier une plage de données (située toujours au même endroit sur chaque feuille) et à coller ces plages sur la feuille OT.

    Le problème que j'ai actuellement c'est que la macro me copie/colle toujours la même plage de donnée (celle de la feuille 3) en doublons sur la feuille OT au lieu de me copier.coller la plage de la feuille 3 puis celle de la feuille2.

    J'ai joint mon fichier excel pour une meilleure compréhension (la macro se nomme copie)

    Merci
    Fichiers attachés Fichiers attachés

  6. #6
    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
    Parceque tu as laissé Sheets("Feuil3") au lieu de Sh.
    Regarde bien
    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
    Sub copie()
    Dim Dest As Range
    Dim Sh As Worksheet
     
    For Each Sh In ActiveWorkbook.Worksheets
         If Sh.Name <> "OT" Then
              Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
              Sh.Range("I82:AN92").Copy Dest
              Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
              Sh.Range("AO82:BT92").Copy Dest
              Set Dest = Sheets("OT").Range("A65536").End(xlUp).Offset(1, 0)
              Sh.Range("BU82:CZ92").Copy Dest
              Set Dest = Nothing
         End If
    Next Sh
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] effectuer une recherche dans un autre classeur
    Par sebneb dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 07/01/2007, 11h47
  2. [VBA-Excel] Effectuer une recherche dans une liste view
    Par Miles Raymond dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2006, 17h21
  3. Comment effectuer une recherche dans une listBox?
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 19/05/2006, 16h15
  4. Réponses: 9
    Dernier message: 25/01/2006, 15h35

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