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 :

Erreur qui arrête (stop) excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 19
    Par défaut Erreur qui arrête (stop) excel
    Bonjour,

    Le but ici est d'imprimer des feuilles que l'on aura rempli grâce à une saisie sur un userform (combobox, textbox, checkbox ...).

    Le programme fonctionne sauf quand on change de feuille, si par exemple je commence avec la feuille 3, elle s'imprime normalement ensuite si je change de feuille le programme stop excel.

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    Private Sub Imprimer_Click()
    fc1.Hide                                               'fc1 : nom de l'userform
    Unload fc1
     
    Feuil3.Visible = True
    Feuil10.Visible = True
    Feuil11.Visible = True
    Feuil12.Visible = True
    Feuil13.Visible = True
     
     
    If Range("feuil6!J10").Value = 0 Then
     
        Sheets("feuil3").Select
        Sheets("feuil3").Range("K4").Value = ComboBox3.Value
        Range("feuil3!K10").Value = ComboBox4.Value
        Range("feuil3!C8").Value = ComboBox5.Value
        Range("feuil3!C10").Value = ComboBox6.Value
        Range("feuil3!C12").Value = ComboBox7.Value
        Range("feuil3!C6").Value = TextBox1.Value
        Range("feuil3!N1").Value = TextBox2.Value
        Range("feuil3!N81").Value = TextBox2.Value
        ActiveWindow.SelectedSheets.PrintOut
    End If
     
    If Range("feuil6!J10").Value = 1 Then
        Sheets("feuil11").Select
        Sheets("feuil11").Range("K4").Value = ComboBox3.Value
        Range("feuil11!K10").Value = ComboBox4.Value
        Range("feuil11!C8").Value = ComboBox5.Value
        Range("feuil11!C10").Value = ComboBox6.Value
        Range("feuil11!C12").Value = ComboBox7.Value
        Range("feuil11!C6").Value = TextBox1.Value
        Range("feuil11!N1").Value = TextBox2.Value
        Range("feuil11!N81").Value = TextBox2.Value
        ActiveWindow.SelectedSheets.PrintOut
    End If
     
     
    If (Range("feuil6!J10").Value = 4) Or (Range("feuil6!J10").Value = 5) Then
        Sheets("feuil10").Select
        Sheets("feuil10").Range("K4").Value = ComboBox3.Value
        Range("feuil10!K10").Value = ComboBox4.Value
        Range("feuil10!C8").Value = ComboBox5.Value
        Range("feuil10!C10").Value = ComboBox6.Value
        Range("feuil10!C12").Value = ComboBox7.Value
        Range("feuil10!C6").Value = TextBox1.Value
        Range("feuil10!N1").Value = TextBox2.Value
        Range("feuil10!N81").Value = TextBox2.Value
        ActiveWindow.SelectedSheets.PrintOut
    End If
     
    If Range("feuil6!J10").Value = 8 Then
        Sheets("feuil12").Select
        Sheets("feuil12").Range("K4").Value = ComboBox3.Value
        Range("feuil12!K10").Value = ComboBox4.Value
        Range("feuil12!C8").Value = ComboBox5.Value
        Range("feuil12!C10").Value = ComboBox6.Value
        Range("feuil12!C12").Value = ComboBox7.Value
        Range("feuil12!C6").Value = TextBox1.Value
        Range("feuil12!N1").Value = TextBox2.Value
        Range("feuil12!N81").Value = TextBox2.Value
        ActiveWindow.SelectedSheets.PrintPreview
    End If
     
    If Range("feuil6!J10").Value = 9 Then
        Sheets("feuil13").Select
        Sheets("feuil13").Range("K4").Value = ComboBox3.Value
        Range("feuil13!K10").Value = ComboBox4.Value
        Range("feuil13!C8").Value = ComboBox5.Value
        Range("feuil13!C10").Value = ComboBox6.Value
        Range("feuil13!C12").Value = ComboBox7.Value
        Range("feuil13!C6").Value = TextBox1.Value
        Range("feuil13!N1").Value = TextBox2.Value
        Range("feuil13!N81").Value = TextBox2.Value
        ActiveWindow.SelectedSheets.PrintOut
    End If
     
    Feuil3.Visible = False
    Feuil10.Visible = False
    Feuil11.Visible = False
    Feuil12.Visible = False
    Feuil13.Visible = False
     
    End Sub

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut fartouk et le forum
    Juste une idée en passant
    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
    Private Sub Imprimer_Click()
    fc1.Hide                                               'fc1 : nom de l'userform
    Unload fc1
     
    Feuil3.Visible = True
    Feuil10.Visible = True
    Feuil11.Visible = True
    Feuil12.Visible = True
    Feuil13.Visible = True
     
    If Range("feuil6!J10").Value = 0 Then
        Sheets("feuil3").Select
    '......
    If Range("feuil6!J10") = 1 Then
    '......
    If (Range("feuil6!J10").Value = 4) Or (Range("feuil6!J10").Value = 5) Then
    'etc...
    Tu utilises deux notations pour désigner tes feuilles :
    - Feuil3.Visible => qui rend visible le nom informatique de la feuille Feuil3 dont on ne connaît pas le nom de l'onglet.
    - Sheets("feuil3").Select => qui sélectionne la feuille de nom d'onglet "feuil3" et dont on ne connaît pas forcemment le nom informatique.
    Ton erreur peut provenir de là, mais aussi de l'emplacement de ta macro : elle ne peut pas être sur un module lié à une feuille.

    Fait un pas-à-pas pour voir quelle est la ligne qui te provoque le blocage.
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 19
    Par défaut
    Bonjour Gorfael,

    Je ne vois pas trop. le code est bien situé, il est dans l'emplacement de l'userform et non dans un module.

    Si j'ai mis feuil3.visible=true ... c'est pour pouvoir agir sur cette feuille.

    Ensuite on ne peut pas les imbriquer.

    Cordialement.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut fartouk et le forum
    Si j'ai mis feuil3.visible=true ... c'est pour pouvoir agir sur cette feuille.
    Euh... j'avais compris, mais je précisais juste que Sheets("feuil13").Visible peut être différent de feuil13.Visible : il ne faut pas confondre nom de l'onglet et nom "informatique" de la feuille.
    Ensuite on ne peut pas les imbriquer.
    ??? de quoi tu parles ?

    En gros, personnellement, quand je fais un programme j'évite de mélanger les notations :
    Sheets("feuil3").Range("K4")
    feuil3.Range("K4")
    Range("feuil3!K4")
    sur un même code peut amener des erreurs. je préfère la 1re notation. Mais ce n'est qu'une habitude personnelle.
    A+

Discussions similaires

  1. [XL-2003] erreur dans une fonction appelée dans excel et qui ecrit dans excel
    Par peeter__steewart dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/08/2009, 15h00
  2. [XL-2003] code d'erreur qui plante excel
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/07/2009, 16h45
  3. Réponses: 2
    Dernier message: 29/05/2006, 12h43
  4. [SQL Server 2000] erreur lors importation fichier excel
    Par Abydos Business Group dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/03/2006, 09h24
  5. Erreur d'exportation vers Excel : Trop de champs definis
    Par deglingo37 dans le forum Access
    Réponses: 3
    Dernier message: 15/06/2005, 17h30

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