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 automation a l'ouverture d'une feuille dans une macro [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2015
    Messages : 10
    Par défaut Erreur automation a l'ouverture d'une feuille dans une macro
    Bonjour,

    Je suis débutant dans sur VBA, et j'essaye de créer une gestion de stock dans un fichier excel. (une GMAO coute trop cher a ma societe).

    J'ai commencer par une useform qui me permet d'entrée mes articles sur une feuille.
    Tous ce passe bien jusqu'a que je veuille retourné sur la feuille d'ou je vient de lancé mon userform.
    A ce moment là erreur d'automation.
    Et là je comprend pas pourquoi " sheet("Menu").activate" ne fonctione pas .
    J'ai meme essayé avec select ca ne marche pas sauf si je choisi d'ouvrir une autre fenetre.

    pouvez vous m'aider?

    Cordialement

    Magicneos

  2. #2
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut On va t'aider
    Salut magicneos,

    Je vais commencer par un conseil, poste ton code :
    On va te trouver l'erreur et te l'expliquer, moi même n'etant pas le meilleur en debuguage , je suis actuellement sur un gros projet sur userform, donc je pourrais surement t'aider.
    Voila on attend ton code : tu selectionne juste la macro ou la partie qui pose problème , pas besoin de tout poster.

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2015
    Messages : 10
    Par défaut Merci c'est sympa à vous de m'aider
    Je savais pas trop quoi envoyer et vue que c'est pour l'instant juste un userform. En fait ça bloque juste à la dernière ligne du programme de l'userform.

    Cordialement

    Magicneos

  4. #4
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    tu sais utiliser le mode pas à pas? et le debuguer? sans code on pourra pas t'aider

  5. #5
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Alimentation

    Informations forums :
    Inscription : Septembre 2015
    Messages : 10
    Par défaut Voici mon code
    Oui je sais utiliser le mode pas à pas (F8) et tous fonctionne a merveille jusqua la derniere ligne de code du sub com_bout_validez_click

    je l'ai mit en gras sur le code.

    cordialement

    magicneos
    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
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
     
    Dim f
     
    Private Sub Com_bout_validez_Click()
     
     
     
    ' empecher de validez si tous n'est pas remplie
     
        If Text_quantité = "" Or Combo_service = "" Or Text_ref = "" Or Combo_equipement = "" Or Text_designation = "" Or Text_fournisseur = "" Or Text_bac = "" Or Text_prix = "" Or Text_min = "" Or Text_max = "" Then
     
    MsgBox ("Merci de remplir tous les chanps")
     
    Exit Sub
     
     End If
     
     ' selectionne la derniere ligna du stock
     
     Sheets("Stock").Activate
     Range("A65536").End(xlUp).Offset(1, 0).Select
     
     ' Copie des informations dans la base
     
        ActiveCell.Offset(0, 0) = Combo_service
        ActiveCell.Offset(0, 1) = Combo_equipement
        ActiveCell.Offset(0, 2) = Text_designation
        ActiveCell.Offset(0, 3) = Text_fournisseur
        ActiveCell.Offset(0, 4) = Text_ref
        ActiveCell.Offset(0, 5) = Text_prix
        ActiveCell.Offset(0, 6) = Text_quantité
        ActiveCell.Offset(0, 7) = Text_min
        ActiveCell.Offset(0, 8) = Text_max
        ActiveCell.Offset(0, 9) = Text_bac
     
     
     
     
        ' effacement des celulles de use form
     
            Combo_service = ""
            Combo_equipement = ""
            Text_designation = ""
            Text_fournisseur = ""
            Text_ref = ""
            Text_prix = ""
            Text_quantité = ""
            Text_min = ""
            Text_max = ""
            Text_bac = ""
     
     
     
     
    Form_Entre_pieces.Hide
     
    Sheets("Menu").Activate
     
     
     
     
     
     
     
    End Sub
     
     
     
    Private Sub Combo_service_Change()
    Me.Combo_equipement.Clear
      i = 0
      For Each C In f.Range("A1:A" & f.[A65000].End(xlUp).Row)
         If C.Value = Me.Combo_service Then
           Me.Combo_equipement.AddItem C.Offset(, 1).Value
           Me.Combo_equipement.List(i, 1) = C.Offset(, 1).Value
           i = i + 1
         End If
      Next C
    End Sub
     
     
    Private Sub UserForm_Initialize()
     
     
        Set f = Sheets("Liste")
          Set dico = CreateObject("Scripting.Dictionary")
          Dim A()
          i = 0
          For Each C In f.Range("A1:A" & f.[A65000].End(xlUp).Row)
             If Not dico.exists(C.Value) Then
               Me.Combo_service.AddItem C.Value
               Me.Combo_service.List(i, 1) = C.Offset(, 1).Value
               i = i + 1
               dico(C.Value) = ""
             End If
          Next C
     
     
     
    End Sub

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Si tu étais sur la feuille "Menu" avant d'ouvrir l'User_form et que tu ne sélectionnes pas sur une autre feuille ou n'active pas une autre feuille, tu n'a pas besoin de la réactiver. Pour désactiver la feuille active, il faut activer ou sélectionner ailleurs.

  7. #7
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut voila un peu d'aide rapide
    On te résous le problème dans peu de temps , si personne ne le fais avant je t'aide dans une heure je dois reinstaller windows sur mon mac.
    peut etre un problème de focus

    sinon au lieu d'un activate
    tu peux faire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim xlsheet as worksheet ' tu crait une variable objet qui memorise ta feuille 
     
    set xlsheet = thisworkbook.worksheets("Menu") ' pour eviter le activate mais c'est pas ton probleme de tte facon ca ne reglera rien
    Je crois que il y a une fonction dans le userform pour pouvoir utiliser le userform sans bloquer la feuille , tu sais dans tes options a gauches tu dois avoir une option pour debloquer la feuille meme quand tu as une userform , cherche sur google ca pourrait debloquer ton probleme.
    Je pense que tu ne peux tout simplement pas y acceder , c'est juste un pb d'option selon moi

    Voila à tt à l'heure si personne t'as aidé .

  8. #8
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par magicneos Voir le message
    Je pensais avoir mit mon fichier dans mon premier message mais ca pas ete pris en compte.
    Je dirais qu'un modérateur a fait son ouvrage

    je l'y est remit et je le remet la pour plus de surreté.
    C'était prématuré. D'autant plus que ceux qui ouvrent les pièces jointes sont rares. Surtout celles avec des macros, ou celles qui sont balancées avec la première question. Personnellement je n'ai pas ouvert ton fichier et je ne l'ouvrirai pas non plus.

    Va voir là:

    http://www.developpez.net/forums/d84...s-discussions/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. [E-00] Syntaxe pour insérer une ligne ou une colonne dans une feuille
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2009, 09h27
  3. Réponses: 4
    Dernier message: 02/07/2008, 11h32
  4. Insérer une feuille dans une feuille
    Par PsychedeChed dans le forum Excel
    Réponses: 2
    Dernier message: 07/02/2008, 14h01
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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