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

XL 2013 choix conditionnel de feuils

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 !

SDHABARKA

XLDnaute Nouveau
bonjour!
j'ai un fichier dans lequel le voudrais ajouter automatiquement des contenus différents à l'ouverture du classeurs.
en effet, je voudrais à l'ouverture du classeur que la macro s'exécute et qu'elle renseigne les feuils.
avec la Boucle For Each...Next pour parcourir les feuils avec la structure conditionnelle If
si le nom de la feuil est "feuil1", alors on exécuter un certains nombre d'instructions,
sinon si ce n'est pas le cas on exécute d'autres instructions.
Mais ça bloc dans le Elseif

voir fichier joint
 

Pièces jointes

Solution
Re,
En un petit peu mieux optimisé.
VB:
Public Sub Xtab()
Dim xsh As Worksheet
For Each xsh In Worksheets
    If xsh.Name = "Feuil1" Then
        MiseEnForme "Feuil1", "B3:F3", "A5:F5"  ' Mise en forme standard
    Else
        MiseEnForme xsh.Name, "B3:J3", "A5:J5"  ' Mise en forme standard
        ' Plus ceci si ce n'est pas la feuille 1
        T = Array("Nom", "Montant payé FCFA", "Article", "Quantité")
        Sheets(xsh.Name).Range("G5").Resize(1, 4).Value = T
    End If
Next xsh
End Sub
Re bonsoir,
Toutes les feuilles ont la même mise en forme à part 4 lignes, donc inutile de les dupliquer.
Un essai en PJ où la mise en forme est la même pour toutes les feuilles plus quelques lignes si ce n'est pas la feuille1.
Normalement ça devrait faire ce que vous voulez.
VB:
Public Sub Xtab()
Dim xsh As Worksheet
For Each xsh In Worksheets
    If xsh.Name = "Feuil1" Then
        MiseEnForme "Feuil1"    ' Mise en forme standard
    Else
        MiseEnForme xsh.Name    ' Mise en forme standard
        ' Plus ceci si ce n'est pas la feuille 1
        Sheets(xsh.Name).Range("G5").Value = "Date"
        Sheets(xsh.Name).Range("H5").Value = "Montant payé FCFA"
        Sheets(xsh.Name).Range("I5").Value = "Article"
        Sheets(xsh.Name).Range("J5").Value = "Quantité"
    End If
Next xsh
End Sub
 

Pièces jointes

Re,
En un petit peu mieux optimisé.
VB:
Public Sub Xtab()
Dim xsh As Worksheet
For Each xsh In Worksheets
    If xsh.Name = "Feuil1" Then
        MiseEnForme "Feuil1", "B3:F3", "A5:F5"  ' Mise en forme standard
    Else
        MiseEnForme xsh.Name, "B3:J3", "A5:J5"  ' Mise en forme standard
        ' Plus ceci si ce n'est pas la feuille 1
        T = Array("Nom", "Montant payé FCFA", "Article", "Quantité")
        Sheets(xsh.Name).Range("G5").Resize(1, 4).Value = T
    End If
Next xsh
End Sub
 

Pièces jointes

ok merci
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…