For i = 1 to ?????????????

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

O

oveg63

Guest
Bonjour à tous,

j'ai du mal avec cette fonction.

Mon code ne fonctionne pas.

Sur la page TRAME FAJ se trouve le bouton "impression pour commission". il lance la macro Bouton88_QuandClicII()

ce que je veux obtenir :
Sur l'onglet "récap", si dans la cellule H14 il y a 1 alors j'imprime les onglets "1", "trame dde 1", "accord 1", "refus 1"
Sur l'onglet "récap", si dans la cellule H14 il y a 2 alors j'imprime les onglets "1", "trame dde 1", "accord 1", "refus 1", "2", "trame dde 2", "accord 2", "refus 2"
Sur l'onglet "récap", si dans la cellule H14 il y a 3 alors j'imprime les onglets "1", "trame dde 1", "accord 1", "refus 1", "2", "trame dde 2", "accord 2", "refus 2", "3", "trame dde 3", "accord 3", "refus 3"
etc

A votre bon coeur 🙂
 

Pièces jointes

Re : For i = 1 to ?????????????

Bonsoir,

Un premier jet. La proc fait une moulinette sur les feuilles afin de sélectionner celles qui correspondent au critère. Le problème, c'est que la moulinette passe plusieurs fois sur les mêmes feuilles. Il y a sûrement une solution qui évite cela mais là, elle ne me vient pas à l'esprit. C'est de toute façon un début de piste :
Code:
Sub Imprimer()

    Dim Fe As Worksheet
    Dim I As Integer
    
    'si le contenu de H14 est supérieur à 0
    If Worksheets("récap").Range("H14") > 0 Then
        
        'parcour la collection de feuilles
        For Each Fe In Worksheets
            
            'part de 1 à x et recherche le chiffre ou nombre
            'dans le nom des feuilles, si il s'y trouve, la
            'feuille est sélectionnée pour l'impression
            For I = 1 To Worksheets("récap").Range("H14")
                
                If InStr(Fe.Name, CStr(I)) <> 0 Then
                
                    Fe.Select (False)
                    
                End If
                
            Next I
            
        Next Fe
        
        'imprime les feuilles sélectionnées
        ActiveWindow.SelectedSheets.PrintOut
        
    End If

End Sub

Hervé.
 
Re : For i = 1 to ?????????????

Salut Hervé et merci,

j'avais mal expliqué mon problème donc ton code tel quel ne convenait pas.
Mais je m'en suis servi pour trouver ce qui cloché dans le mien et eureka, ça fonctionne avec ça :

Sub Bouton88_QuandClicII()
Sheets("récap").Select
Dim i As Currency
For i = 1 To Sheets("récap").Range("H14") Step 1
Sheets("prépa " & i).PrintOut
Sheets("Trame dde " & i).PrintOut
Sheets("accord " & i).PrintOut
Sheets("Refus " & i).PrintOut
Next
End Sub

Merci de ta participation précieuse Hervé

@+
 
Re : For i = 1 to ?????????????

Bonsoir oveg63, Hervé,

Je propose de modifier la macro du bouton88 comme suit :

Code:
Sub Bouton88_QuandClicII()
Dim Num As String
Num = Sheets("récap").Range("H14").Value
Select Case Num
  Case "1", "2"
    For Each sh In Sheets
      If Right(sh.Name, 1) = Num Then sh.PrintOut
    Next
  Case "3"
    For Each sh In Sheets
      If Not sh.Index = 1 Then sh.PrintOut
    Next
End Select
End Sub
Mais ai-je bien tout compris ?

Cordialement.
 
Re : For i = 1 to ?????????????

Salut papou-net,

en fait la cellule H14 donne le nombre de dossiers renseigné. Un dossier est composé de plusieurs onglets

Si H14 = 1, 1 seul dossier de fait, je n'imprime que les onglets 1, dde 1, accord 1 ...

Si H14 = 2, 2 dossiers de fait. J'imprime les onglets 1, dde 1, accord 1 etc et aussi 2, dde 2, accord 2

Si H14 = 3, 3 dossiers de fait. J'imprime les onglets 1, dde 1, accord 1 etc , 2, dde 2, accord 2 etc mais aussi 3, dde 3, accord 3 etc

Le code que j'ai fait n'est probablement pas bien "beau" mais il fonctionne au poil.

Merci papou-net
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour