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 :

Plage de données sur plusieurs feuilles d'un classeur excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    dessinateur projeteur
    Inscrit en
    Mai 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : dessinateur projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2022
    Messages : 3
    Par défaut Plage de données sur plusieurs feuilles d'un classeur excel
    Bonjour,
    Je débute en VBA, et je souhaiterais faire un script qui nomme une plage de données identique (de A1 jusqu'à C11) sur différentes feuilles en reprenant le nom de la feuille contenue dans mon classeur, à l'exception de 2 feuilles.
    J'ai visualisé le programme après avoir exécuté une macro mais le problème étant qu'il s'exécute pour une feuille précise.
    Voici ci-dessous le script que j'ai fait mais qui ne fonctionne malheureusement pas!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub plage_de_donées()
    Dim sht As Worksheet 'déclare la variable o (Onglet)
    For Each sht In Sheets 'boucle sur tous les onglets du classeur
        Select Case sht.Name 'agit en fonction du nom de l'onglet
            Case "Données" 'pour ce cas là pas d'action
            Case "Mise en forme" 'pour ce cas là pas d'action
            Case Else 'pour tous les autres cas
            nom_feuille = sht.Name
            Range("A1:C11").Select
            ActiveWorkbook.Names.Add Name:=nom_feuille, RefersToR1C1:="=ActiveSheet!R1C1:R11C3"
    Next sht
    End Sub
    Si quelqu'un pourrait m'aider à résoudre ce problème
    Merci d'avance pour vos réponses

    Cordialement

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 592
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 592
    Par défaut
    Bonjour

    Ceci suffit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub plage_de_donées()
    Dim sht As Worksheet 'déclare la variable o (Onglet)
    For Each sht In Sheets 'boucle sur tous les onglets du classeur
        If sht.Name <> "Données" And sht.Name <> "Mise en forme" Then
            ActiveWorkbook.Names.Add Name:=sht.Name, RefersToR1C1:="=ActiveSheet!R1C1:R11C3"
        End If
    Next sht
    End Sub
    mais un nom de pouvant contenir d'espace ou certains autres caractères, tu risques un problème si les noms des feuilles en ont.
    Donc plutôt cela (si seulement des espaces)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub plage_de_donées()
    Dim sht As Worksheet 'déclare la variable o (Onglet)
    For Each sht In Sheets 'boucle sur tous les onglets du classeur
        If sht.Name <> "Données" And sht.Name <> "Mise en forme" Then
            ActiveWorkbook.Names.Add Name:=Replace(sht.Name, " ", "_"), RefersToR1C1:="=ActiveSheet!R1C1:R11C3"
        End If
    Next sht
    End Sub

  3. #3
    Candidat au Club
    Femme Profil pro
    dessinateur projeteur
    Inscrit en
    Mai 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : dessinateur projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2022
    Messages : 3
    Par défaut
    Merci pour votre réponse, j'ai testé les deux scripts que vous me proposez cependant une erreur 1004 survient.
    De plus si dans mes noms j'ai des "+" ou "-" je dois les remplacer comme pour les espaces?

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 592
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 592
    Par défaut
    RE

    Les noms dans Excel ne peuvent
    • commencer par un chiffre
    • contenir d'espace ou de caractères autres que
      • \ _ .
      • 0 à 9
      • les lettres de alphabet

  5. #5
    Candidat au Club
    Femme Profil pro
    dessinateur projeteur
    Inscrit en
    Mai 2022
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : dessinateur projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2022
    Messages : 3
    Par défaut
    RE
    J'ai bien fait attention aux noms auquels je fais référence mais l'erreur 1004 persiste

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 592
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 592
    Par défaut
    RE

    J'ai testé mon code avant de le poster et il fonctionne

    Donc il faut travailler en mode debug et voir sur quel onglet se produit le problème.

    1004 est une erreur très générique donc sans plus d'info, on n'avancera pas

Discussions similaires

  1. [XL-2010] Copier une plage de données de plusieurs feuilles et centraliser sur une seule
    Par Tanga dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 27/10/2015, 16h44
  2. Birt et données sur plusieurs feuilles Excel
    Par fleak dans le forum BIRT
    Réponses: 8
    Dernier message: 25/07/2011, 18h16
  3. Valider une plage de cellules sur plusieurs feuilles via une listbox
    Par lio59 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/08/2009, 14h52
  4. [excel]source de données sur plusieurs feuilles
    Par Yolak dans le forum Excel
    Réponses: 5
    Dernier message: 25/06/2008, 15h40
  5. exportation données sur plusieurs feuilles vers Access
    Par meuah dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 15/05/2008, 22h32

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