Programmation VBA
Résolu
jacksa3ada
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un classeur Excel de plusieurs feuilles, pour les besoins d'une application j'ai réalisé une macro pour la selection de toutes les feuilles
voici la macro:
comment faire pour que la macro ne selectionne pas les feuilles "Source" , "calcul" et "tableaux"
merci
j'ai un classeur Excel de plusieurs feuilles, pour les besoins d'une application j'ai réalisé une macro pour la selection de toutes les feuilles
voici la macro:
'''''''''''''''''''selection des feuilles''''''''''''''''''''' Dim I As Byte 'déclare la variable I (Incrément) Dim OS As Variant 'déclare la variable OS (OngletS) ReDim OS(1 To Sheets.Count) 'redimensionne le tableau OS (de 1 au nombre d'onglets dans le classeur) For I = 1 To Sheets.Count 'boucle sur tous les onglets du classeur OS(I) = Sheets(I).Name 'alimente le tableau OS avec le nom de l'onglet de la boucle Next I 'prochain onglet de la boucle Sheets(OS).Select 'sélectionne les onglets du tableau OS
comment faire pour que la macro ne selectionne pas les feuilles "Source" , "calcul" et "tableaux"
merci
Configuration: Windows / Chrome 74.0.3729.169
A voir également:
- Programmation VBA
- Application de programmation - Guide
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
9 réponses
Bonjour,
A l'avenir, merci de placer tes questions VBA dans le forum VBA (j'ai déplacé celle-ci).
Merci également d'utiliser les BALISES DE CODE.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Et pour répondre à ta question...... en faisant des IF
A l'avenir, merci de placer tes questions VBA dans le forum VBA (j'ai déplacé celle-ci).
Merci également d'utiliser les BALISES DE CODE.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Et pour répondre à ta question...... en faisant des IF
If Sheets(I).Name <> "Source" AND Sheets(I).Name<>"calcul" AND Sheets(I).Name<>"tableaux" Then '... '... ici ton code EndIf
bonjour
merci pour ta reponse
j'ai fais ça !
et ça bloque
je ne suis qu'un débutant, je sais ce qui ne va pas
merci pour ta reponse
j'ai fais ça !
et ça bloque
je ne suis qu'un débutant, je sais ce qui ne va pas
'''''''''''''''''''selection des feuilles''''''''''''''''''''' Dim i As Byte 'déclare la variable I (Incrément) Dim OS As Variant 'déclare la variable OS (OngletS) If Sheets(i).Name <> "Source" And Sheets(i).Name(i) <> "Modele" Then ReDim OS(1 To Sheets.Count) 'redimensionne le tableau OS (de 1 au nombre d'onglets dans le classeur) For i = 1 To Sheets.Count 'boucle sur tous les onglets du classeur OS(i) = Sheets(i).Name 'alimente le tableau OS avec le nom de l'onglet de la boucle Next i 'prochain onglet de la boucle Sheets(OS).Select 'sélectionne les onglets du tableau OS End If
Bonjour à tous les deux
Quelque chose comme ça
RQ. celle là Sheets(OS).Select 'sélectionne les onglets du tableau OS me parait douteuse !
Cdlmnt
Quelque chose comme ça
'''''''''''''''''''selection des feuilles''''''''''''''''''''' Dim i As Byte 'déclare la variable I (Incrément) Dim OS() 'déclare la variable OS (OngletS) ReDim OS(1 To Sheets.Count) 'redimensionne le tableau OS (de 1 au nombre d'onglets dans le classeur) For i = 1 To Sheets.Count 'boucle sur tous les onglets du classeur If Sheets(i).Name <> "Source" And Sheets(i).Name <> "Modele" Then OS(i) = Sheets(i).Name 'alimente le tableau OS avec le nom de l'onglet de la boucle End If Next i 'prochain onglet de la boucle
RQ. celle là Sheets(OS).Select 'sélectionne les onglets du tableau OS me parait douteuse !
Cdlmnt
bonjour
j 'ai fais ça :
'
cela ne fonctionne pas!!!!
rien n'est selectionné !!
je comprend pas pkoi
j 'ai fais ça :
'
''''''''''''''''''selection des feuilles''''''''''''''''''''' Sub Selection () Dim i As Byte 'déclare la variable I (Incrément) Dim OS() 'déclare la variable OS (OngletS) ReDim OS(1 To Sheets.Count) 'redimensionne le tableau OS (de 1 au nombre d'onglets dans le classeur) For i = 1 To Sheets.Count 'boucle sur tous les onglets du classeur If Sheets(i).Name <> "Source" And Sheets(i).Name <> "Modele" Then OS(i) = Sheets(i).Name 'alimente le tableau OS avec le nom de l'onglet de la boucle End If Next i 'prochain onglet de la boucle End Sub
cela ne fonctionne pas!!!!
rien n'est selectionné !!
je comprend pas pkoi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
je veux selectionner toutes les feuilles autre que la feuille "source" et la feuille "Modele" .
merci
je veux selectionner toutes les feuilles autre que la feuille "source" et la feuille "Modele" .
merci
Re,
''''''''''''''''''selection des feuilles''''''''''''''''''''' Sub Selection() Dim i As Long 'd?clare la variable I (Incr?ment) Dim OS() 'd?clare la variable OS (OngletS) ReDim OS(1 To Sheets.Count) 'redimensionne le tableau OS (de 1 au nombre d'onglets dans le classeur) For i = 1 To Sheets.Count 'boucle sur tous les onglets du classeur If Sheets(i).Name <> "Source" And Sheets(i).Name <> "Modele" Then OS(i) = Sheets(i).Name 'alimente le tableau OS avec le nom de l'onglet de la boucle End If Next i 'prochain onglet de la boucle Sheets(OS).Select 'selection des onglets End Sub
Essaies ceci pour mettre 1 en A1 des feuilles selectionnées
CDlmnt
Sub ok() '''''''''''''''''''selection des feuilles''''''''''''''''''''' Dim i As Byte 'déclare la variable I (Incrément) Dim n As Long ' nombre de feuilles dans OS Dim OS() 'déclare la variable OS (OngletS) n = -1 For i = 1 To Sheets.Count 'boucle sur tous les onglets du classeur If Sheets(i).Name <> "Source" And Sheets(i).Name <> "Modele" Then n = n + 1 ReDim Preserve OS(0 To n) OS(n) = Sheets(i).Name 'alimente le tableau OS avec le nom de l'onglet de la boucle End If Next i 'prochain onglet de la boucle Sheets(OS).Select 'sélectionne les onglets du tableau OS et mettre 1 en A1 Range("A1").Select ActiveCell.Value = 1 End Sub
CDlmnt