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

Problème syntaxe condition IF en VBA

  • Initiateur de la discussion Initiateur de la discussion pascals
  • 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 !

pascals

XLDnaute Nouveau
Bonjour

Je débute en VBA et je rencontre un problème.
J'ai un classeur composé de plusieurs feuilles. Je souhaite toutes les sélectionner sauf 1 (feuil1). J'ai écrit cette macro

Sub selection_feuille()
'
' selection_feuille Macro
'
Dim feuille As Worksheet
If feuille <> 'Feuil1' Then

For Each feuille In ActiveWorkbook.Sheets
feuille.Select Replace:=False
Next feuille
End If
'
End Sub

Mais à chaque fois j'ai un message d'erreur. Erreur de syntaxe et erreur de compilation.

Pouvez vous m'aider?
Merci par avance
 
Re : Problème syntaxe condition IF en VBA

hello

j'aurai écris comme ca.. le test après for each
et des quotes " au lieu d'apostrophe '

Code:
Sub selection_feuille()
'
' selection_feuille Macro
'
Dim feuille As Worksheet


For Each feuille In ActiveWorkbook.Sheets
If feuille <> "Feuil1" Then
feuille.Select Replace:=False
End If
Next feuille

'
End Sub

je n'ai pas testé par contre
 
Re : Problème syntaxe condition IF en VBA

Bonjour,

essaye peut être ceci :
Code:
Option Explicit
Sub test()
Dim feuille As Worksheet, t() As Variant, i As Byte
ReDim t(1 To Worksheets.Count - 1)
For Each feuille In Worksheets
    If feuille.Name <> "Feuil1" Then i = i + 1: t(i) = feuille.Name
Next feuille
Worksheets(t).Select
End Sub

devrait fonctionner même si feuil1 est sélectionnée lorsque tu lances la macro.

bon après midi
@+
 
Re : Problème syntaxe condition IF en VBA

Bonsoir

Merci à vous deux pour vos réponses.

@vgendron : j'ai essayé cette syntaxe. Mais je ne sais pas pourquoi elle ne fonctionne pas.

@Pierrot93 : merci ça fonctionne. une dernière petite faveur. Peux tu m'expliquer la partie du code

then i = i+1 : t(i) = feuille.name.

J'ai saisi le reste mais la j'ai un peu de mal. Maintenant il faudra que je me souvienne de la solution pour la prochaine fois. 😛
 
- 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
7
Affichages
316
Réponses
4
Affichages
439
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…