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

Adapter code compter nombre d'onglets

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 !

aubelix

XLDnaute Impliqué
Bonjour à tous les Amis du Forum. 🙂

J'ai trouvé un code pour compter le nombre d'onglets présents
dans mon fichier. Affichage via un message Box.

J'aurai souhaité l'adapter pour qu'une action soit exécutée que si le
nombre d'onglets est supérieur à 4.
Pourriez-vous m'aider sur la syntaxe à utiliser.

Par avance, Merci pour votre aide.
Cordialement.
 

Pièces jointes

Re : Adapter code compter nombre d'onglets

Bonjour Pierrot93. 🙂

Merci pour ta réponse.

J'ai testé le code, mais je n'obtiens pas l'action désirée.
J'ai 3 onglets + 1 caché.

Code:
If Sheets.Count = 4 Then exit sub 
else ....

Pourquoi ma macro continue son déroulement sans tenir compte
de la condition de comptage du nombre d'onglets (4).

Par avance, Merci pour votre aide.
Cordialement.
 
Re : Adapter code compter nombre d'onglets

Re,

ci dessous code qui fonctionne chez moi, qu'il y ait des onglets masqués ou pas... et ce sous excel 2003
Code:
If Sheets.Count = 4 Then Exit Sub
MsgBox "ok, pas 4"

@+
 
Re : Adapter code compter nombre d'onglets

bonjour Pierrot 😱 aubélix,
tu as trop mangé de sanglier !!!!
ta macro dis quoi??????
que si tu as 4 feuille tu sorts
alors si tu as 3 feuilles + 1 cela fait bien 4 et tu sorts
maintenant tu veux quoi commençons peut-être par là ?
a+
papou 😱

EDIT salut Pierrot mais il veux que si il a + de 4 feuilles alors qu'il met égal à 4 cela ne peut pas marcher ou bien ?
 
Re : Adapter code compter nombre d'onglets

Bonjour Paritec. 🙂

Merci pour ta réponse.

Comme je l'ai spécifié, j'ai 4 onglets dont 1 masqué.
Je lance action que si le nombre d'onglets est supérieur à 4 onglets.
Sinon je sors ou mieux un message qui dira de Lancer la macro X avant de continuer.

Dans mon cas, la macro continue son exécution. Pourquoi ?



Code:
Sub export_onglet()
    Dim CheminAppli As String, sNomOnglet As String
    Dim i As Long, sDossier As String
    Dim sRacine As String
 
CheminAppli = "C:\REP1\REP2\REP3\REP4"
 
je compte les onglets
Si le nombre = 4 message et je sors
sinon je continue la suite
 
 
    Select Case MsgBox("                Etes-vous sûr de vouloir " _
                     & vbCrLf & "  exporter toutes les REFS individuellement ?" _
         , vbYesNo Or vbQuestion Or vbDefaultButton2, "Confirmez votre votre choix...")
 
    Case vbYes


Par avance, Merci pour votre aide.
Cordialement.
 
Dernière édition:
Re : Adapter code compter nombre d'onglets

Re Aubelix Pierrot 😱
oui j'ai compris, alors c'est ce que je te dis si tu veux que ce soit supérieur à 4 c'est
VB:
if sheets.count>4 then 
' là ton action que je ne connais pas
else
Msgbox "Vous devez lancer la macro X, avant que cela n'explose!",,"Lancer la Macro X"
end if
 
Re : Adapter code compter nombre d'onglets

Bonjour le fil 🙂
ci dessous code qui fonctionne chez moi, qu'il y ait des onglets masqués ou pas... et ce sous excel 2003
Et sous 2010 aussi 😛.
Pour faire (peut-être) avancer le Schmimblic, ne pas mélanger
Code:
MsgBox Sheets.Count
qui compte tous les types d'onglets (feuille, macro XL4, graphique, USF XL5) avec
Code:
MsgBox Worksheets.Count
qui ne compte que les feuilles normales 🙄...
Bonne journée 😎
 
Re : Adapter code compter nombre d'onglets

Re, bonjour Papou🙂
Re Aubelix Pierrot
oui j'ai compris, alors c'est ce que je te dis si tu veux que ce soit supérieur à 4 c'est
tu as de la chance Papou, perso je comprends de moins en moins.... surtout juste avec un tout petit bout d'un code pas complet....
Edition : bonjour JNP🙂
 
Re : Adapter code compter nombre d'onglets

Re Pierrot😱 JNP😱 aubélix
bah je pense que j'ai compris ce qu'il veut mais pas sur non plus à 100%!!!
il veux si le nombre de feuille compris la cachée et > à 4 faire son action autrement avoir un message, enfin je pense
a+
Papou 😱
 
Re : Adapter code compter nombre d'onglets

Bonjour JNP, Paritec, Pierrot93 🙂

Merci pour vos réponses respectives.
Je joints mon fichier complet avec commentaires.
Car j'ai essayé d'adapter les codes et je n'ai pas réussi.

Merci pour votre aide.
Cordialement.
 

Pièces jointes

Re : Adapter code compter nombre d'onglets

Re 🙂,
L'emplacement que tu préconises est le bon, et le code de Pascal aussi...
Par contre
Code:
        'ATTENTION !
        'Débuter le comptage à la 4ème feuille pour éviter
        'd'exporter les feuilles "BASES" et "REFERENCES" et "RECHERCHE-HISTORIQUE"
        For i = 5 To Sheets.Count
me gène un peu, For i = 4 paraitrait plus logique, mais je me méfierais d'utiliser l'index d'une feuille pour être sûr que ce soit la bonne...
Code:
Dim Feuille As Worksheet
For Each Feuille In ThisWorkbook.Worksheets
If Feuille.Name <> "BASES" And Feuille.Name <> "REFERENCES" And Feuille.Name <> "RECHERCHE-HISTORIQUE" Then
' ton code
End If
Next
me semblerait plus judicieux 🙄...
Je n'ai pas pu tester
Code:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
est incompatible avec VBA 64 😉...
Bonne journée 😎
 
Re : Adapter code compter nombre d'onglets

Re Aubelix et tous
ton fichier en retour teste et redis moi
a+
papou 😱

EDIT pas assez rapide toujours grillé par toi JNP !!! pour l'index j'ai pas regardé mais c'est vrai que !!
 

Pièces jointes

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
4
Affichages
1 K
G
Réponses
6
Affichages
2 K
Guillaume T
G
J
Réponses
11
Affichages
2 K
JEANLOUISPB
J
N
Réponses
2
Affichages
2 K
N
P
Réponses
0
Affichages
3 K
P
B
Réponses
2
Affichages
2 K
B
S
Réponses
5
Affichages
1 K
K
Réponses
0
Affichages
3 K
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…