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 :

Comment récupérer le contenu de cellules à l'ouverture d'un userForm


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 47
    Points : 45
    Points
    45
    Par défaut Comment récupérer le contenu de cellules à l'ouverture d'un userForm
    Bonjours à toutes et à tous!!! J'ai un un souci concernant un projet sur VBA. Dans celui-ci, il y a un UserForm qui contient quelques textbox et la feuille excel contient des chiffres. Mon probléme est que: je veux qu' à l'ouverture du UserForm, les chiffres viennent remplir les textbox. Le code que j'ai utilisé est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Initialize() 'Au demarrage du UserForm
    TextBox1 = Selection.Offset(1, 4)  'cellule D1
    textbox2=selection.offset(2,4) 'celluleD2
    End Sub
    il y a d'autres textbox mais je n'ai mis que ces deux puisque si ça marche pour l'un je peux faire pour les autres.

    Merci!!!

  2. #2
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    évite les select et selection
    directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()   'Au demarrage du UserForm
    With Sheets("feuil1")   'adapte au nom de ta feuille
       Me.TextBox1.Value = .Range("D1").Value   'cellule D1
       Me.Textbox2.Value = .Range("D2").Value   'celluleD2
    End With
    End Sub

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Merci Mercatog!!! ça marche

    Je n'avais même pas penser à une boucle With.
    Je pense aussi qu'un des problémes est que je n'ai pas encore bien maîtrisé la manipulation des cellules et feuilles. Je cherchai un tutorial pour ça dans le site mais j'en vois pas. Si vous avez un site web qui fournit une telle documentation je serai ravi de le voir. Merci.

  4. #4
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Ce site est déjà assez complet, à part les sujets traités qui sont d'une utilité manifeste, tu peux consulter la FAQ et les divers tutoriels.

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    With n'est pas une boucle.
    L'instruction With permet simplement de ne pas répéter la référence à un Objet (dans le cas présent, une feuille).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Sheets("feuil1")   'adapte au nom de ta feuille
       Me.TextBox1.Value = .Range("D1").Value   'cellule D1
       Me.Textbox2.Value = .Range("D2").Value   'celluleD2
    End With
    Est strictement équivalent à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.TextBox1.Value = Sheets("feuil1").Range("D1").Value   'cellule D1
    Me.Textbox2.Value = Sheets("feuil1").Range("D2").Value   'celluleD2

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Merci encore! je vais voir.

    Merci Alain pour l'erreur!!! J'ai bien compris.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/04/2009, 13h44
  2. Comment récupérer le contenu d'une cellule
    Par gronaze dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2008, 17h30
  3. comment récupérer un contenue de cellule dans son format
    Par fstrobel dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/11/2007, 13h49
  4. Réponses: 5
    Dernier message: 07/01/2006, 16h55
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 16h36

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