Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 11/03/2010, 14h01   #1
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 128
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 128
Points : 34
Points : 34
Par défaut Userform Worksheet BeforeDoubleClick

Bonjour à tous,

La situation est la suivante :

Dans Excel, j'ai plusieurs feuilles avec :
- base ou j'ai un identifiant est des données diverses et variées
- d'autres feuilles nommées par Année avec l'indentifiant

J'ai une userform avec plusieurs informations qui viennent de plusieurs feuilles dont la base et les feuilles par année.

J'utilise le Worksheet_BeforeDoubleClick sur la feuille base pour ouvrir la userform, mais je n'arrive pas à récupérer les informations des feuilles par Année, par contre pour la base, je n'ai pas de problème.

Merci de votre aide

Meumeu73
meumeu73.1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2010, 16h14   #2
Membre expérimenté
 
Inscription : décembre 2006
Messages : 610
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 610
Points : 556
Points : 556
Envoyer un message via Skype™ à ESVBA
Par défaut bonjour meumeu73.1,

très simplement, active les feuilles avant de remplir les textbox dans la UserForm.


Ou faire un déclaration compléte de la cellule voulue. Genre :
Code :
TxtBox.Value = WorkBooks("Classeur.xls").WorkSheets("Onglet2010").Range("A123").Value
ESVBA
ESVBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2010, 23h48   #3
Membre Expert
 
Inscription : juillet 2007
Messages : 2 134
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 2 134
Points : 2 154
Points : 2 154
Salut meumeu73 et le forum
Moins tu donnes plus d'informations, plus tu auras des réponses moins interessantes.
Citation:
J'utilise le Worksheet_BeforeDoubleClick sur la feuille base pour ouvrir la userform
Donc la feuille active est la feuille de base. Toutes les infos sans descriptif clair ont comme préfixe Activesheet, par défaut.

Écrire Range("A1") revient à écrire ActiveSheet.Range("A1") et donc, dans ton cas, Sheets("Base").range("A1").

Il suffit donc d'écrire :
Sheets("Nom d'onglet").Range("A1") pour faire référence à la cellule A1 de la feuille "Nom d'onglet".
A+
Gorfael est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2010, 08h56   #4
Nouveau Membre du Club
 
Inscription : mars 2007
Messages : 128
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 128
Points : 34
Points : 34
Bonjour et merci,

J'ai trouvé la solution à mon problème :

Code :
1
2
Public lgn As Integer
Public pmatricule As String
et

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
 
Private Sub RemplissageDonnees()
 
        ' pour cellule modifiable
 
        CNom.Text = Range("D" & lgn).Value
        CPrenom.Text = Range("E" & lgn).Value
 
 
        Dim ligne As Integer
        With Sheets("2010")
            ligne = .Columns(1).Find(pmatricule, , , , xlByRows, xlNext).Row
            IPECEtatCourant.Text = Trim(.Range("E" & lgn).Value)
        End With
 
 
End Sub
meumeu73.1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 07h04.


 
 
 
 
Partenaires

Hébergement Web