Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récupère les données - VBA

  • Initiateur de la discussion Initiateur de la discussion JANO
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JANO

XLDnaute Occasionnel
Bonsoir le forum,

j'utilise de puis longtemps le code ci dessous, que vous m'avez aidé à élaborer.

il récupère les données de toutes les feuilles sauf celle nommé objectif.

j'aurais besoin qu'il ignore également toutes les feuilles situées après l'onglet objectif.

mais voila je n'y arrive pas, quelqu'un peut il m'aider.

merci



Sub TraiterToutesLesFeuilles()


Dim CompteurDeFeuille As Byte
For CompteurDeFeuille = 1 To Worksheets.Count
If Sheets(CompteurDeFeuille).Name <> "Objectif" And Sheets(CompteurDeFeuille).Name <> "" And Sheets(CompteurDeFeuille).Name <> "Cumul" Then
With Sheets(CompteurDeFeuille)
.Range("AO6:AW6").Copy
Sheets("Cumul").Range("A" & Sheets("Cumul").Range("A65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
End With
End If
Next

Call mise_en_forme


End Sub
 
Re : Récupère les données - VBA

Bonjour JANO,
Une proposition :
Code:
Sub TraiterToutesLesFeuilles()
Dim CompteurDeFeuille As Byte, Limite As Long
Limite = Sheets("Objectif").Index
    For CompteurDeFeuille = 1 To Worksheets.Count
    If Sheets(CompteurDeFeuille).Name <> "Objectif" And Sheets(CompteurDeFeuille).Name <> "" And Sheets(CompteurDeFeuille).Name <> "Cumul" And Sheets(CompteurDeFeuille).Index < Limite Then
        With Sheets(CompteurDeFeuille)
            .Range("AO6:AW6").Copy
            Sheets("Cumul").Range("A" & Sheets("Cumul").Range("A65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
        End With
    End If
Next
Call mise_en_forme
End Sub
Ps: je ne suis pas certain qu'il faille vérifier si la feuille a un nom.
Code:
And Sheets(CompteurDeFeuille).Name <> ""
Cordialement
 
Dernière édition:
Re : Récupère les données - VBA

Bonsoir Jano, bonsoir le forum,

Peut-être comme ça (modification avant dernière ligne du code) :
Code:
Sub TraiterToutesLesFeuilles()
Dim CompteurDeFeuille As Byte
For CompteurDeFeuille = 1 To Worksheets.Count
    If Sheets(CompteurDeFeuille).Name <> "Objectif" And Sheets(CompteurDeFeuille).Name <> "" And Sheets(CompteurDeFeuille).Name <> "Cumul" Then
        With Sheets(CompteurDeFeuille)
            .Range("AO6:AW6").Copy
            Sheets("Cumul").Range("A" & Sheets("Cumul").Range("A65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
        End With
    End If
    If Sheets(CompteurDeFeuille).Name = "Objectif" Then Exit For
Next
Call mise_en_forme
End Sub

[Édition]
Bonsoir Efgé on sé st croisé... Bonne remarque pour les feuilles sans nom... Ça court pas les rues, les champs non plus d'ailleurs (allusion à Modeste et plagiat de Coluche)...
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
881
Réponses
5
Affichages
688
Réponses
2
Affichages
504
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
904
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…