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 :

Macro crée sous Excel 2007 fonctionnant pas sous Excel 2010 [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Macro crée sous Excel 2007 fonctionnant pas sous Excel 2010
    Bonjour,

    Dans le cadre d'une formation nous avons créé une macro sous Excel 2007 qui permet de consolider les données de plusieurs feuilles Excel en une seule. La macro fonctionne bien sous Excel 2007 par contre elle ne s'exécute pas sous Excel 2010 !

    Code VBA :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    Option Explicit
    Dim classeur_conso As String
    Dim nom_ville As String
    Dim cellule_de_la_ville
     
     
     
    Sub Consolidation()
    '
    ' Consolidation Macro
     
        Application.DisplayAlerts = False
     
    [A1].CurrentRegion.Offset(1, 0).Clear 
     
    ChDir ActiveWorkbook.Path 'c'est le chemin du premier classeur
     
    classeur_conso = ActiveWorkbook.Name 'c'est le mon du classeur
     
     
    [J2].Select 'on se positionne sur la ville
     
        Do While ActiveCell <> ""
        nom_ville = ActiveCell
        cellule_de_la_ville = ActiveCell.Address
        Workbooks.Open Filename:=nom_ville               => à ce niveau cela bloque sous Excel 2010, message d'erreur fichier introuvable!
     
        nom_ville = ActiveWorkbook.Name  'chemin du fichier
     
        Range("A2").Select 'nous on veut A2
     
     
        Range(Selection, Selection.End(xlToRight)).Select 'sélection droite
        Range(Selection, Selection.End(xlDown)).Select 'sélection en bas
     
        Selection.Copy
     
        Windows(classeur_conso).Activate 'on active la fenetre
     
     
        [A100000].End(xlUp).Offset(1, 0).Select 'très importnat pour sélectionner la cellule vide
     
         Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False 'copie des valeurs
     
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False 'copie du format
     
        Workbooks(nom_ville).Close False  ' on ferme la feuille
     
        Range(cellule_de_la_ville).Offset(1, 0).Select
        'donc on fait appel à la cellule suivante référence vers le bas
     
     
     
        Loop
     
        Application.DisplayAlerts = True
     
     
     
     
     
     
        Range("A2").Select 'nous on veut A2
     
     
        Range(Selection, Selection.End(xlToRight)).Select 'sélection droite
        Range(Selection, Selection.End(xlDown)).Select 'sélection en bas
     
        Selection.Copy
     
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False 'copie des valeurs
     
        Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False 'copie du format
     
     
     
     
    End Sub

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Bonjour,

    Quand tu inscris du code, utilise le bouton # pour formater celui-ci et le rendre plus lisible.

    Qu'est-ce qui ne fonctionne pas sous 2010 ?
    Y a-t-il un message d'erreur ? si oui lequel ?
    De quelle façon est appelée la macro ?
    MPi²

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Février 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Février 2015
    Messages : 118
    Points : 178
    Points
    178
    Par défaut
    Bonjour,

    Quel est le continu de ta cellule "J2" ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Citation Envoyé par parmi Voir le message
    Qu'est-ce qui ne fonctionne pas sous 2010 ?
    Sous Excel 2010 les classeurs se trouvant dans le répertoire ne s'ouvrent pas !

    Citation Envoyé par parmi Voir le message
    Y a-t-il un message d'erreur ? si oui lequel
    ? Il y a le message suivant :

    Erreur d’exécution '1004'

    'Bordeaux.xlxs' introuvable. Vérifier l'orthographe du nom du classeur et la validité de l'emplacement.

    Le débogage me renvoi à la ligne 26 du code.

    Citation Envoyé par parmi Voir le message
    De quelle façon est appelée la macro ?
    La macro est appelée Consolidation

    Citation Envoyé par OBO29 Voir le message
    Quel est le continu de ta cellule "J2" ?
    J'ai un fichier Consolidation (voir PJ), quand j’appuie sur le bouton fusion les 5 fichiers Excel présent dans le dossier sont censés s'ouvrir/fermer, avec un copier coller sur A2.

    Dans la colonne J2 sont inscrits le nom des fichiers à ouvrir.

    Merci pour votre aide.
    Images attachées Images attachées  

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Essaie en mettant le chemin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:=ThisWorkbook.Path & "\" & nom_ville
    Quand je demandais comment était appelée la macro, je pensais plus au type de bouton ou autre.
    Il y a eu des mises à jour d'Office qui causaient des problèmes avec les contrôles ActiveX, mais je vois que ce n'est pas ton cas...

    Et je vois qu'il n'y a pas d'extension aux noms en colonne J...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:=ThisWorkbook.Path & "\" & nom_ville & ".xlsx"
    MPi²

  6. #6
    Candidat au Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je te remercie beaucoup cela fonctionne

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

Discussions similaires

  1. [AC-2007] CpteDom ne fonctionne pas sous access 2007 + WDS 7
    Par JacPapa74 dans le forum Access
    Réponses: 3
    Dernier message: 30/10/2013, 23h07
  2. Macro sous Excel 2003 fonctionne pas sous Excel 2007 pourquoi
    Par Sherman750 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2012, 13h13
  3. Macro de tableau croisé dynamique ne fonctionne pas avec excel 2007
    Par Sherman750 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/10/2012, 22h42
  4. Mes codes VBA ne fonctionnent pas sous access 2007
    Par ralfus dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/11/2008, 11h36
  5. Bug sous Excel 2007 et pas sous les autres
    Par damdam78 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 03/04/2008, 14h01

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