IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Next sans for


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut Next sans for
    Salut à tous

    J'ai écris le code pour une fonction permettant d'imprimer des graphiques selon des critères, mais au moment de l'utiliser j'ai une erreur de compilation "next sans for".
    J'ai essayé de bouger le next et le for mais ça ne fonctionne pas.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Private Sub imprimpenal_Click()
     
    Dim continu As Boolean
    continu = True
    If borneInfpenal.Value > borneSuppenal.Value Then continu = False
     
    If continu Then
        Windows("graphPenalités v2.xls").Activate
     
    Dim nbjourpenal As Integer
    Dim i As Integer
    nbjourpenal = getnbjourpenal(Sheets("INDEX").Combo_moispenal.Value)
     
    Dim Numero_Ligne_Visible As Integer
    For i = borneInfpenal.Value To borneSuppenal.Value
               Sheets("PENALITES").Range("A3") = getvalmoispenal() & "/" & i & "/" & getvalAnneepenal() & " 5:59"
    Range("B6:F1446").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("J1:K2"), Unique:=False   ''on filtre
     Numero_Ligne_Visible = Range("B7:B" & Range("B65536").End(xlUp).Row).SpecialCells(xlVisible).Row  ''donne le n° de la ligne visible sinon donne 6 le n° de la ligne d'étiquette de la liste de données
    If Numero_Ligne_Visible <> 6 Then
            ActiveSheet.ShowAllData  '' on défiltre c'est-à-dire on affiche tout
            Sheets("GRAPH PENALITES").Select
            ActiveWindow.SelectedSheets.PrintOut Copies:=1  
     
    Next i
     
     
    Else
     
        MsgBox "Borne Inf > Borne Sup !"
     
    End If
    Sheets("INDEX").Select
     
    End Sub
    Pourriez-vous me dire d'où ça vient ?

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    633
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 633
    Par défaut
    Bonjour

    il te manque un End if

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Private Sub imprimpenal_Click()
    Dim nbjourpenal As Integer
    Dim i As Integer
    Dim continu As Boolean
    Dim Numero_Ligne_Visible As Integer
    continu = True
    If borneInfpenal.Value > borneSuppenal.Value Then continu = False
     
    If continu Then
        Windows("graphPenalités v2.xls").Activate
     
      nbjourpenal = getnbjourpenal(Sheets("INDEX").Combo_moispenal.Value)
     
      For i = borneInfpenal.Value To borneSuppenal.Value
               Sheets("PENALITES").Range("A3") = getvalmoispenal() & "/" & i & "/" & getvalAnneepenal() & " 5:59"
        Range("B6:F1446").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("J1:K2"), Unique:=False   ''on filtre
        Numero_Ligne_Visible = Range("B7:B" & Range("B65536").End(xlUp).Row).SpecialCells(xlVisible).Row  ''donne le n° de la ligne visible sinon donne 6 le n° de la ligne d'étiquette de la liste de données
        If Numero_Ligne_Visible <> 6 Then
            ActiveSheet.ShowAllData  '' on défiltre c'est-à-dire on affiche tout
            Sheets("GRAPH PENALITES").Select
            ActiveWindow.SelectedSheets.PrintOut Copies:=1
        End If ' ###  il manquait ici
     
      Next i
     
    Else
     
        MsgBox "Borne Inf > Borne Sup !"
     
    End If
    Sheets("INDEX").Select
     
    End Sub
    a+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 5
    Par défaut
    Merci ça fonctionne mieux !
    J'ai encore une erreur, pourtant ça me parait correct.
    Lorsque je souhaite utiliser la fonction, j'ai "la méthode ShowAllData de la classe Worsheet a échoué".

    Je ne vois pas d'où ça peut provenir !

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Numero_Ligne_Visible = Range("B6:B" & Range("B65536").End(xlUp).Row).SpecialCells(xlVisible).Count
    If Numero_Ligne_Visible > 1 Then
    ou si tu veux laisser ta variante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Numero_Ligne_Visible = Range("B6:B" & Range("B65536").End(xlUp).Row).SpecialCells(xlVisible).Row  ''donne le n° de la ligne visible sinon donne 6 le n° de la ligne d'étiquette de la liste de données
        If Numero_Ligne_Visible <> 6 Then

Discussions similaires

  1. [VBA Word] Next sans for
    Par Dobyan08 dans le forum VBA Word
    Réponses: 6
    Dernier message: 20/10/2016, 10h57
  2. [VBA Outlook]Next sans for
    Par *.Har(d)t dans le forum VBA Outlook
    Réponses: 5
    Dernier message: 06/03/2009, 12h22
  3. j'ai une erreur Next sans For
    Par Caps corp dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 22/08/2008, 14h10
  4. Next sans For. Et pourtant, il y est !
    Par Bubale dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/05/2008, 14h57
  5. Next sans For..alors qu'il y est !
    Par Bubale dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2008, 22h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo