Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Probleme adressage label

  • Initiateur de la discussion Initiateur de la discussion ifi77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ifi77

XLDnaute Occasionnel
Bonjour @ tous,

je viens vers vous pour un probleme que je n'arrive pas à résoudre cela parait pourtant pas tès compliqué mais bon voila près de 2h que je tourne en rond.

Sur le fichier joint, il y à 2 classeurs, l'un contenant la base de donné (Auteuil_novembre) et l'autre la macro.
Mon probleme est de relier les informations contenu dans la colonne B de la base de donnée aux labels de 1 à 31 contenus dans la userform statistique_mensuel.

j'ai utilisé cela mais ca ne fonctionne pas:

For u = 1 To 31
Me.Controls("label" + u) = Workbooks(Site & "_" & Mois).Sheets(Engin).Range("B5").Offset(u, 0)
Next

Cijoint.fr - Service gratuit de dépôt de fichiers

merci @ tous
 
Re : Probleme adressage label

Bonjour,

en regardant ton code, je remarque que l'userform_initialize en question commence par sheets(engin).activate

Hors tu dois t'assurer que engin a bien correctement été défini avant d'afficher l'USF : tu dois plutôt chercher de ce côté là, car si tu remplaces engin, par "auteuil" dans la macro, cela fonctionne.
 
Re : Probleme adressage label

Re,

@Abtony : Engin est une variable qui est définie dans un module standard, elle peut prendre n'importe quell valeur de chaine de caractère dont "Auteuil", "Feuil1" ou "Feuil2", par exemple. Tout dépend comment elle a été définie dans le code...
 
Re : Probleme adressage label

re,

engin est defini dans le module ouverture_stat et appartient au classeur joint.

J'ai défini engin en public, je ne pense pas avoir fait d'erreur mais peut etre qu'avec votre regard..

merci encore

@+
 
Re : Probleme adressage label

Salut,



Code:
ub ouverture_stat()
Chemin = ThisWorkbook.Path & "\"
Site = menu_statistique.ComboBox2.Value
Mois = menu_statistique.ComboBox3.Value
Engin = menu_statistique.ComboBox4.Value
Temps = menu_statistique.ComboBox1.Value

ça sent pas trés bon quand tu initialises ton USF tes combos peuvent être vides. ..dans le commandbutoon1 de l'usf il faut que testes que l'user ait bien sélectionner une valeur


Code:
Private Function TesteCombo() As Boolean
Dim Ctrl As Control
  For Each Ctrl In Me.Controls
    If TypeName(Ctrl) = "ComboBox" Then
      If Ctrl.ListIndex = -1 Then
         MsgBox "Veuillez sélectionner " & Ctrl.Tag, _
                vbInformation, "Saisie incompléte"
         Ctrl.SetFocus
         TesteCombo = True
         Exit For
      End If
    End If
  Next Ctrl
End Function

tu t'en sers dans le code de ton bouton valider

if testecombo then ouverture_stat


ne pas oublier de remplir tes tags de chacun de tes controles "Type" ....


A+++
 
Re : Probleme adressage label

Re,

On s'est pas compris. Ton truc ça fonctionne... à priori. Ce que je voulais dire c'est que ta variable engin telle qu'elle est définie dans cet exemple peut prendre l'une des valeurs de la combobox4 de ta form menu_statistique, soit : "VSAV", "PSE" ou "EPA". Donc lorsque la macro d'initialisation du form Mensuel se lance, il bute sur:
Sheets(engin)..., dans la mesure où dans l'exemple joint, il n'existe pas de feuille "VSAV", "PSE" ou "EPA". Si dans la combobox, tu places un "Auteuil", ça fonctionne...

En espérant avoir été un chouille plus clair.
 
Re : Probleme adressage label

softmama,

en fait la feuille VSAV, PSE ou EPA se trouve sur le classeur annexe, c'est pour cela que je le fait s'ouvrir dans la macro ouverture_stat:

If Temps = "Mensuel" Then
Workbooks.Open (Chemin & Site & "_" & Mois & ".xls")Sheets(Engin).Activate
Windows(Site & "_" & Mois).Visible = False
statistique_mensuel.Show
End If

ainsi dans l'initialyze de la userform, je fais référence à la feuille déja active:

Private Sub UserForm_Initialize()
Sheets(Engin).Activate 'Range("A1").Select 'uniquement pour Excel97
With ActiveSheet
NbGraph = .ChartObjects.Count
GraphActif = 1
.ChartObjects(GraphActif).CopyPicture xlScreen, xlPicture
Set Image1.Picture = PastePicture(xlPicture)
End With

peut etre que l'activation du classeur n'est pas bonne...

merci @+
 
Re : Probleme adressage label

Re tout le monde,

voila le probleme, en fait, c'est la recherche des données sur un autre classeur qui ne fonctionne pas.

Il doit y avoir une erreur dans l'activation du classeur..

En effet, chacune des feuilles utilisées comme base de données se trouve dans des classeurs différents des userform. SI cela fonctionne bien pour AUteuil lorsqu'il se trouve dans le meme classeur par contre lorsque je le mets dans le classeur nommé annuel, il n'arrive pas à lancer la macro.

Il en est de meme pur la userform statistique mensuel.

si vous avez une idée pour lié les userform et les données sur les classeurs annexes.

merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

R
  • Question Question
Réponses
2
Affichages
1 K
Réponses
3
Affichages
800
T
Réponses
2
Affichages
2 K
texas2607
T
X
Réponses
1
Affichages
885
xirlon
X
L
Réponses
0
Affichages
1 K
leaner
L
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…