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 :

Problème dans un code


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut Problème dans un code
    Bonjour à tous,

    Premier message sur ce forum je me met à peine au Vba
    et he rencontre un problème dans un code

    explication :

    J'ai créé un bouton qui ouvre un Userform "renseignements"

    Cet Userform contient :

    Textbox1
    Textbox2
    TextBox3
    Combobox1 'ici s'affiche 4 possibilités
    Textbox4

    et CommandButton1 'bouton valider

    Mon souhait, que les 5 données soit reporté sur une "feuil5"

    Voici le code que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
    Range("Feuil5")("D6").Value = Renseignements.TextBox1.Text
       Unload Me
    Range("Feuil5")("D8").Value = Renseignements.TextBox2.Text
       Unload Me
    Range("Feuil5")("D11").Value = Renseignements.TextBox3.Text
       Unload Me
    Range("Feuil5")("D13").Value = Renseignements.ComboBox1.Text
       Unload Me
    Range("Feuil5")("D17").Value = Renseignements.TextBox4.Text
       Unload Me
     
    End Sub
    Mais celui ci m'indique :
    Erreur d'éxécution '1004'
    La méthode "range" de l'objet '_global' a échoué

    Pouvez me dire quelle est mon erreur ?

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 177
    Par défaut
    Bonjour

    Ne faut il pas plutot ecrire

    Sheets("feuil5").range(....).Value

    et ainsi de suite
    Cordialement
    lps02

  3. #3
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut
    Merci pour ta réponse
    Ca me met désormais

    "erreur d'éxécution '9':
    L'indice n'appartient pas à la sélection"

    En me sélexctionnant la première ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("feuil5").Range("D6").Value = Renseignements.TextBox1.Text
    une solution ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 177
    Par défaut
    Essaie donc comme ça
    Par contre ce sont les "valeurs" de tes textbox que tu dois entrer.

    Attention de voir comment tu as nommés tes texbox dans le userform

    Il faut que tu revois ta méthode

    Cordialement
    lps02

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton1_Click()
    Sheets("Feuil5").Range("D6").Value = Renseignements.TextBox1.Value
    Sheets("Feuil5").Range("D8").Value = Renseignements.TextBox2.Value
    Sheets("Feuil5").Range("D11").Value = Renseignements.TextBox3.Value
    Sheets("Feuil5").Range("D13").Value = Renseignements.ComboBox1.Value
    Sheets("Feuil5").Range("D17").Value = Renseignements.TextBox4.Value
     
    End Sub
    essaie de consulter ce cours dans les tutoriels
    http://silkyroad.developpez.com/VBA/UserForm/
    Ce sont les propriétés "name de tes controles que tu dois reporter dans ton programme.
    Cordialement
    lps02

  5. #5
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut
    Même erreir le nom de mes textbox sont bien ceux là

    Les noms indiqués sont biens les "NAME"

    Renseignements = Nom de l'Userform
    Feuil5 = feuille 5
    Textbox 1, combobox1... sont les bons également...

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 177
    Par défaut
    Dans ce cas essaies :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton1_Click()
     
    With Sheets("Feuille5")
    .Range("D6").Value = Renseignements.TextBox1.Value
    .Range("D8").Value = Renseignements.TextBox2.Value
    .Range("D11").Value = Renseignements.TextBox3.Value
    .Range("D13").Value = Renseignements.ComboBox1.Value
    .Range("D17").Value = Renseignements.TextBox4.Value
     End With
    End Sub
    Excuses moi si le nom de ta feuille est feuille 5 alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton1_Click()
     
    With Sheets("feuille 5")
    .Range("D6").Value = Renseignements.TextBox1.Value
    .Range("D8").Value = Renseignements.TextBox2.Value
    .Range("D11").Value = Renseignements.TextBox3.Value
    .Range("D13").Value = Renseignements.ComboBox1.Value
    .Range("D17").Value = Renseignements.TextBox4.Value
     End With
    End Sub
    Tu dois reporter le nom de ta feuille.

    Cordialement

  7. #7
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut
    GRRRRR ca va me rendre dingue
    Toujour la même erreur :s
    Je vais partir en week end là dessus ca va me bouffer ...
    en éspérant trouver la solution lundi...

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 177
    Par défaut
    Vérifie quand même quel sont les "caption" de ton userform et les name de tes contrôles et veille à les reporter scrupuleusement
    Exemple :si mon TextBox a pour name "Txtessai"
    alors

    Dans la feuille 5 la cellule A1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("feuille 5").Range("A1").Value=Me.Txtessai.value
    Essayes comme cela
    cordialement

  9. #9
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut Toujours pas résolu
    Bonjour, toujours cette "erreur d'éxécutuion 9" "l'indice n'appartient pas à la sé&lection"

    Qui apparaît ... j'essaye de trouver sur les différents forum je ne vois pas mon erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     Private Sub CommandButton1_Click()
    Sheets("Feuil2").Range("C10").Value = TextBox1.Value
     
    Sheets("Feuil2").Range("C12").Value = TextBox2.Value
     
    Sheets("Feuil2").Range("C17").Value = TextBox3.Value
     
    Sheets("Feuil2").Range("C18").Value = ComboBox1.Value
     
    Sheets("Feuil2").Range("C14").Value = TextBox4.Value
     
    End Sub
    Ils disent partout de bien vérifier les Noms c'est ce que j'ai fait mais n'y fait ! Ce me bloque à la première ligne de code...

    Help please

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 199
    Par défaut
    Bonjour,

    As tu plusieurs classeurs excel ouverts ?

    Si c'est le cas il faut que tu active le claseur sur lequel tu travail.

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks("TOTO.xls").Activate
    ou bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Workbooks("TOTO.xls").Sheets("Feuil2").Range("C10").Value = TextBox1.Value
     
    Workbooks("TOTO.xls").Sheets("Feuil2").Range("C12").Value = TextBox2.Value
     
    Workbooks("TOTO.xls").Sheets("Feuil2").Range("C17").Value = TextBox3.Value
     
    Workbooks("TOTO.xls").Sheets("Feuil2").Range("C18").Value = ComboBox1.Value
     
    Workbooks("TOTO.xls").Sheets("Feuil2").Range("C14").Value = TextBox4.Value
     
    End Sub
    Cordialement

  11. #11
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut
    Malheureusement toujours pas...

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 199
    Par défaut
    avec le fichier peut etre ????

  13. #13
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut le fichier
    Voilà le fichier,

    Le code concerne le boutton de l'Userform2

    D'avance merci
    Fichiers attachés Fichiers attachés

  14. #14
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    pour ton erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Sheets("Reçu")
      .Range("C10").Value = TextBox1.Value
      .Range("C12").Value = TextBox2.Value
      .Range("C17").Value = TextBox3.Value
      .Range("C18").Value = ComboBox1.Value
      .Range("C14").Value = TextBox4.Value
    End With
    D'autres erreurs subsistent à mon avis
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  15. #15
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 199
    Par défaut
    La feuille Feuil2 n'existe pas...

  16. #16
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut
    Merci !!!
    Pourtant le "name" de la feuille reçu est "feuil2" m'enfin Merci beaucoup pour votre aide,

    Au passage un conseil pour m'indiquer comment ajouter que lorsque qu'on clique sur le bouton en + de remplir les cases dénommées on soit dirigé vers la feuille "reçu" ?

  17. #17
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Sheets("Reçu")
      .Range("C10").Value = TextBox1.Value
      .Range("C12").Value = TextBox2.Value
      .Range("C17").Value = TextBox3.Value
      .Range("C18").Value = ComboBox1.Value
      .Range("C14").Value = TextBox4.Value
      .Activate 'ici
    End With
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  18. #18
    Membre averti
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Par défaut
    Merci encore

  19. #19
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    fais aussi l'essai avec le codename, histoire de voir le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Feuil2'CodeName
      .Range("C10").Value = TextBox1.Value
      .Range("C12").Value = TextBox2.Value
      .Range("C17").Value = TextBox3.Value
      .Range("C18").Value = ComboBox1.Value
      .Range("C14").Value = TextBox4.Value
      .Activate
    End With
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With Sheets(2)
      .Range("C10").Value = TextBox1.Value
      .Range("C12").Value = TextBox2.Value
      .Range("C17").Value = TextBox3.Value
      .Range("C18").Value = ComboBox1.Value
      .Range("C14").Value = TextBox4.Value
      .Activate
    End With
    à toi de voir le plus rationnel
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Problème dans un code delphi dans C++Builder
    Par gandf dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/03/2007, 23h12
  2. Réponses: 13
    Dernier message: 17/10/2006, 15h35
  3. Problème dans le code?
    Par Arch Enemy dans le forum C
    Réponses: 5
    Dernier message: 15/08/2006, 11h05
  4. [MySQL] Un problème dans le code PHP
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/07/2006, 11h06
  5. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09

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