Symplifier avec Active

Symplifier avec Active - VB/VBA/VBS - Programmation

Marsh Posté le 05-11-2005 à 23:33:22    

Salut,  :hello:  
 
Je me suis crée une palette de peinture personnaliser et je voudrais qu' elle colorie l' objet séléctionner quel qu' il soit (qui ne soit pas une cellule).
Jusqu' à présents, j' avais définis tout ce que font les objets  en cliquant desssus.(Si je click sur mon label1, Label1 = Couleur. Si je click sur label2, Label2 = etc..)
Mais lorsque que l' on à près d' une Trentaine de Label... :(  
 
Se serait sympa de me donner un p' tit coup de main
 
Merci  :)  
 

Reply

Marsh Posté le 05-11-2005 à 23:33:22   

Reply

Marsh Posté le 06-11-2005 à 20:49:46    

ReSalut,  
 
Voilà un code (Très petit et tout simple):  
 
If Label1 = "Bleu" Then
Label2.BackColor = &HFF0000
End If
 
Et moi je pensais à remplacer l' object Label2 par Object.
 
Pourquoi ça marche pas ?
 
Merci à tous

Reply

Marsh Posté le 11-11-2005 à 21:35:10    

Bonjour,  
 
Pour essayer de résoudre mon problème, j' aimerai savoir à quoi sert exactement Object ?
 
Est -ce qu' il serait possible de séléctionner l' objet avec une fonction (active) x ?
 
Merci

Reply

Marsh Posté le 23-11-2005 à 19:41:30    

Stl,  :hello:  
 
J' ai trouvé Controls et ActiveControl pour mes objects (sur un userform), mais j' ai pas encore trouvé la commande pour un Label(x) ?
 
Est -ce que vous pourriez me donner cette commade ?
Merci :jap:  :jap:

Reply

Marsh Posté le 23-11-2005 à 20:07:25    

Bonjour,  
Cette macro renvoie le numéro d'index et le Caption des Label :

Code :
  1. Sub Test()
  2. For Each O In ActiveSheet.OLEObjects
  3.     If O.progID = "Forms.Label.1" Then MsgBox O.Index & " " & O.Object
  4. Next
  5. End Sub


Cette autre macro renvoie la liste des objets de Feuille1 et leur ProgId dans Feuille2

Code :
  1. Sub ListProgID()
  2. rw = 0
  3. For Each O In Worksheets(1).OLEObjects
  4.     With Worksheets(2)
  5.         rw = rw + 1
  6.         .Cells(rw, 1).Value = O.progID
  7.     End With
  8. Next
  9. End Sub


A+


---------------
roger
Reply

Marsh Posté le 23-11-2005 à 20:20:49    

Salut,  
 
Merci pour le code, mais il y a quelque notions/fonction? qui me sont un peu floues, peux tu me dire se que représente Each, OLEObjects et progid ?
 
Merci encore

Reply

Marsh Posté le 23-11-2005 à 20:32:10    

Euh...
Vaste sujet !
Tu vas dans VBA tu tapes successivement Each, OLEObjects et progID
et tu sélectionnes chaque mot puis F1 : tu auras des définitions surement bien meilleures que celles que je peux te fournir !
Tu remarqueras d'ailleurs que la deuxième macro est directement issue de cette aide...
Nota : en suivant attentivement les liens à l'intérieur de l'aide tu auras également de nombreuse notions fort bien expliquées relatives à ton sujet (en particulier dans l'aide sur OLEObjects et progID
A+


Message édité par galopin01 le 23-11-2005 à 20:41:17

---------------
roger
Reply

Marsh Posté le 23-11-2005 à 20:44:31    

ReSlt,  
 
Ok, mais le problème, c' est que l' aide VBA est un composant à part et qu' il n' est pas installé sur l' ordinateur que j' utilise. Tout du moins, le peu que VBA me donne ne me permet pas de comprendre ses 3 fonctions.
Ou bien alors il ya un moyen de le savoir avec la séquence d' enregistrement ?
 
C' est possible ?
 
Merci

Reply

Marsh Posté le 23-11-2005 à 20:59:51    

Re:  
Each est un élément des boucles For... Next
Tu peux écrire :

Code :
  1. Sub Test1
  2. For i = 1 to 10
  3. Cells(i,1) = i
  4. Next
  5. End Sub

Ou...

Code :
  1. Sub test()
  2. Range("A1:A10" ).Select
  3. For Each o In Selection
  4. Cells(i + 1, 1) = i + 1
  5. i = i + 1
  6. Next
  7. End Sub

On pourrait traduire For each o in ... par : Pour chaque objet dans la collection.
 
Pour les autres définitions ils y a plusieurs pages de textes avec des liens hypertextes...
et ce sont ces liens qui sont les plus instructifs !
Il faudra donc que tu te trouves un VBA complet si tu veux approfondir.
Ce n'est pas obligatoire dans l'immédiat ça devrait suffire pour te dépanner.
Ces Méthodes/Propriétés fonctionnent dans les 2 sens Lire/Ecrire donc tu as de quoi faire.
A+


Message édité par galopin01 le 23-11-2005 à 21:02:11

---------------
roger
Reply

Marsh Posté le 23-11-2005 à 21:08:08    

Ok,  
 
Merci, et comme tu dit, il y a de quoi faire...
 

Reply

Marsh Posté le 23-11-2005 à 21:08:08   

Reply

Marsh Posté le 27-11-2005 à 23:19:21    

Bjr,  
 
Je sais que ça n' a pas grand chose à voir avec le sujet initial, mais j' aimerais savoir si il n' y aurait pas une (ou des ?) adresse pour télécharger gratuitement une aide VBA Excel.
 
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed