J'ai bien précisé tel sans rien toucher
Excel 2013 x32
J'ai bien précisé tel sans rien toucher
Excel 2013 x32
Cordialement.
J'utilise toujours le point comme séparateur décimal dans mes tests.
du coup la je suis perdu
ma librairie "office 12...."serait elle en vrac ??
ok 32 donc je comprends mieux le 2009/07 dans l'attribut xmlns de la balises customui c'est pour les 64 bits j'aurais appris ca
bon ben j'ai plus de ressources pour trouver la boulette
je pense que si la librairie était en vrac j'aurais des soucis bien plus importants et c'est pas le cas
faut que je trouve une boule de cristal et vite
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
y a plus qu'à débuguer pas à pas...
Déjà avec quelques debug.print on pourrait voir comment le parcours se fait (s'il se fait...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 ' Fonction privée pour rechercher d'un objet accessible à partir de son parent, son role et son nom Private Function FindChildByRoleOrName(pParent As IAccessible, Optional pChildName As String = "*", Optional pChildRole As String = "*", Optional pRecursif As Boolean = False) As IAccessible Dim lName As String, lRole As Long Dim oChild As IAccessible Const NAVDIR_FIRSTCHILD = &H7& Const NAVDIR_NEXT = &H5& On Error GoTo gestion_erreurs Do If oChild Is Nothing Then Set oChild = pParent.accNavigate(NAVDIR_FIRSTCHILD, ByVal 0&) Else Set oChild = oChild.accNavigate(NAVDIR_NEXT, ByVal 0&) End If If pChildName <> "*" Then lName = oChild.accName(ByVal 0&) If pChildRole <> "*" Then lRole = oChild.accRole(ByVal 0&) Debug.Print lName, Hex(lRole) If lRole Like pChildRole And lName Like pChildName Then Set FindChildByRoleOrName = oChild Exit Do End If If pRecursif Then Set FindChildByRoleOrName = FindChildByRoleOrName(oChild, pChildName, pChildRole, pRecursif) If Not FindChildByRoleOrName Is Nothing Then Exit Do End If Loop gestion_erreurs: If Err.Number <> 0 Then Set FindChildByRoleOrName = Nothing Debug.Print "Erreur " & Err.Number & ": " & Err.Description & "|" & lName & "|" & lRole End If End Function
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL
Blog Office Mon Site DVP
re
me voila revenu
bon des debug.print partoute dans les deux fonctions
et résultat ca plante des le groupe
autrement dit la fonction FindChildByRoleOrName ne ramène pas le group puisque dans le debug je passe pas la ligne plus loin que "avant le do "
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 ' Déplie la gallery de label pGallery du groupe de label pGroup de l'onglet actif ' Recherche sur le label dans l'onglet actif ' Déplie la gallery de label pGallery du groupe de label pGroup de l'onglet actif ' Recherche sur le label dans l'onglet actif Public Function OpenGallery(pGroup As String, pGallery As String) Const ROLE_SYSTEM_BUTTONDROPDOWNGRID = &H3A& Const ROLE_SYSTEM_TOOLBAR = &H16& Dim oRibbon As IAccessible Dim oGroup As IAccessible Dim oGal As IAccessible ' Ribbon Tool Bar Set oRibbon = CommandBars("Ribbon") ' Groupe Debug.Print "recherche group" Set oGroup = FindChildByRoleOrName(oRibbon, pGroup, ROLE_SYSTEM_TOOLBAR, True) Debug.Print oGroup Debug.Print "recheche gallery :" ' Gallery : recherche récursive, il ne doit pas y avoir d'autres éléments avec le même label dans le même groupe Set oGal = FindChildByRoleOrName(oGroup, pGallery, ROLE_SYSTEM_BUTTONDROPDOWNGRID, True) Debug.Print oGal.Text ' Action par défaut = click Call oGal.accDoDefaultAction(ByVal 0&) End Function ' Fonction privée pour rechercher d'un objet accessible à partir de son parent, son role et son nom Private Function FindChildByRoleOrName(pParent As IAccessible, Optional pChildName As String = "*", Optional pChildRole As String = "*", Optional pRecursif As Boolean = False) As IAccessible Dim lName As String, lRole As Long Dim oChild As IAccessible Const NAVDIR_FIRSTCHILD = &H7& Const NAVDIR_NEXT = &H5& On Error GoTo gestion_erreurs Debug.Print "ligne avant do" Do If oChild Is Nothing Then Set oChild = pParent.accNavigate(NAVDIR_FIRSTCHILD, ByVal 0&) Debug.Print "ligne if ochild1""" Else Set oChild = oChild.accNavigate(NAVDIR_NEXT, ByVal 0&) Debug.Print "ligne if ochild2""" End If If pChildName <> "*" Then lName = oChild.accName(ByVal 0&) Debug.Print "Lname :" & lName If pChildRole <> "*" Then lRole = oChild.accRole(ByVal 0&) Debug.Print "Lrole :" & lRole If lRole Like pChildRole And lName Like pChildName Then Set FindChildByRoleOrName = oChild Exit Do End If If pRecursif Then Set FindChildByRoleOrName = FindChildByRoleOrName(oChild, pChildName, pChildRole, pRecursif) If Not FindChildByRoleOrName Is Nothing Then Exit Do End If Loop gestion_erreurs: If Err.Number <> 0 Then Debug.Print "beep!! erorr" & vbCrLf & Err.Number & vbCrLf & Err.Description Set FindChildByRoleOrName = Nothing End If End Function
debug
recherche group
ligne avant do
beep!! erorr
424
Objet requis
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Si on se refere a ton debug, ca serait surtout
qui serait en tort (ton oChild est à Nothing lors du premier passage, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set oChild = pParent.accNavigate(NAVDIR_FIRSTCHILD, ByVal 0&)
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
re
oui exact
avec le code avec debug de Arkham
ca donne ca
autrement dit il ne trouve rien pourtant tel quel chez Arkham ca fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Erreur 424: Objet requis||0 Erreur 91: Variable objet ou variable de bloc With non définie||0 Erreur 91: Variable objet ou variable de bloc With non définie||0 Erreur 91: Variable objet ou variable de bloc With non définie||0
serait ce une histoire de version 2007?
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Tes variables lors de l'appel sont elles bien correctes pour commencer ?
oRibbon ? pGroup existent bien ?
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
re
oui elle s existent bien
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Ca ne passe pas par l'ID plutôt que le label ?
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
re
j'ai testé aussi le ID
nada!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 'Callback for gallery01 getItemCount Sub changecbmois(control As IRibbonControl, returnedVal) mois = Month(DateValue("01/" & returnedVal & "/2019")) OpenGallery "Calendrier", "Calendar" 'par le label 'OpenGallery "Calendrier1", "gallery01" 'par le ID MonRuban.InvalidateControl "gallery01" 'pour remettre a jour le control End Sub
je crois qu'il faut que je me rende a l'évidence ca ne fonctionne pas sur 2007
je ne vois aucune autre raison
peut être avec uiautomationclient j'aurais plus de chance mais c'est hard
je vais en faire un compatible pour 64/32bits pour ceux qui voudront tester et donner les retours
pour moi je crois que c'est mort
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
12 ans après, c'est pas si pire de passer à une nouvelle version Excel
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
ben j'ai acheté 2007 en 2009 et en 2011 j'ai acheté 2010
tellement déçu que j'ai remis 2007 et je suis pas chaud pour changer
et pareil pour W10 même très très très gelé et ce qui le concerne je préfèrerais encore passer a MAC pourtant dieu sait que j'aime pas MAC comme sytem
mais bon quand même les tutos sur IAccessible datent un peu je ne devrais pas avoir ce soucis
ca me mine
et de voir que chez Arkham sur 2013 ca passe nickel alors la je bave
vu tout les soucis de réhabilitation pour utiliser des fonctions même basiques sur 2016 (combien de post sur se sujet ...) sans parler de la latence d'accès au objets créés dynamiquement vérifié a plusieurs reprises et pour quelles raisons ca on sait toujours pas
bref
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
re
pour ceux qui veulent tester sur 2016 64 et donner les retours
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Patrick
Le fichier du post #15 sans problème sur Excel 2016 32
Cordialement.
J'utilise toujours le point comme séparateur décimal dans mes tests.
oui visiblement le xmlsn 2009/07 c'est pour les 64 bits les autres c'est 2006/01
je l'ai inclus dans le dernier fichier
ca résolve pas mon soucis surtout que le fait que ca n'est pas compatible 2007 n'est que pure spéculation de ma part n'ayant pas d'os a ronger ,affirmation/infirmation
je suis bloqué a ce stade du développement car si je peux pas tester ..........
je suis déçu j'aurais bien voulu l'intégrer dans mon app CDO version 2019 cette fois ci sans userform avec wysiwyg on ruban
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
j'aurais une question:
si j'ai les objects a dispos en tant que IRibbonControl dans des variables stockés lors de leur callbacks
pourrais-je m'en servir du genre
et lors de leur callback
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dim mygroup as IRibbonControl dim myaccgroup as IAccessible
et dans la fonction opengallery
Code : Sélectionner tout - Visualiser dans une fenêtre à part set mygroup = control
est ce possible ca ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part set myaccgroup=mygroup
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Salut,
j'ai l'impression que tu ne lis pas correctement les tutos dont on parle depuis le début
https://warin.developpez.com/access/ruban/#LVII.A.1
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
bonjour Jean Philippe André
non au contraire le onload je l'utilise déjà et j'ai bien une variable "Monruban" qui est instanciée et qui me sert a faire mes invalidatecontrol au moment et besoins dans le module
si tu avais regardé les divers code posté tu aurais vu ceci
mais la question n'est pas d'instancier un object ribbon mais le transfert de IRibbonUI as IAcessible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 'Callback for customUI.onLoad 'Est déclenché lors du chargement du ruban personnalisé. Sub RibbonSet(ribbon As IRibbonUI) Set MonRuban = ribbon i = Val(Year(Date) - 50) End Sub
ma question était plus précisément
d'un object iRibboncontrol puis-je passer a un object IAccessible car visiblement sur 2013 ca passe mais 2007 non
je fait quelques tests et reviens
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
re
bon !!
conclusion :
c'est pas la peine d'aller chercher midi/14heures c'est bien 2007 qui n'est pas compatible
je viens de télécharger 2013 32 bits pour tester sur W7
et ca fonctionne sans rien changer du fichier en post 15
voila
donc je vais essayer de créer une alternative avec UIautomationclient pour W7
je sais pas si je vais m'y faire a cet interface 2013
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager