Le double-clic du jour

Dans un user­form en VBA, si vous ajoutez une image, un dou­ble-clic sur la poignée de red­i­men­sion­nement va automa­tique­ment ajuster le for­mat du con­trôle à la taille de l’im­age choisie!

Une fois l’im­age ajoutée, dou­ble-cliquez sur une des poignées de dimen­sion­nement

Et voilà !

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel

Sortir d’une XL’hibernation :-)

Bon­jour à tous,

Prof­i­tant de cette sit­u­a­tion excep­tion­nelle, je me suis mis à fond sur un nou­veau logi­ciel qui me per­met de dévelop­per et d’ap­pro­fondir encore mes con­nais­sances.
Je vous repar­le très bien­tôt de cette appli­ca­tion qui devrait servir à beau­coup d’en­tre vous !

J’ai aus­si con­tin­ué de dévelop­per For­mXL Pro et les nou­veautés seront disponible dans 4 semaines ! En savoir plus ici.

Voici quelques sujets que j’ai explorés récem­ment et sur lesquels je reviendrais prochaine­ment. Je suis disponible pour des développe­ments sur ces sujets. N’hésitez pas à m’indi­quer en com­men­taires si vous avez des préférences :

  • Gliss­er-déplac­er d’élé­ments entre de mul­ti­ples list­box sur un for­mu­laire.
  • Inter­ac­tion avec php/mysql et envoi/réception de don­nées vers un site inter­net et des bases de don­nées stock­ées en ligne.
  • Util­i­sa­tion avancée des vari­ables tableaux pour le traite­ment de don­nées mal for­matées (import de don­nées dans une vari­able tableau, retraite­ment, util­i­sa­tion des Lbound et Ubound, etc.). Utile lorsque Pow­er­Query ne suf­fit pas.
  • Util­i­sa­tion avancée des vari­ables tableaux pour le traite­ment sta­tis­tique de don­nées, notam­ment pour du cal­cul matriciel.
  • For­mu­laire semi-automa­tisé liant une liste reprenant les élé­ments d’une table et une série de textbox per­me­t­tant de rem­plir ces élé­ments.

Util­i­sa­tion des fonc­tions matricielles dynamiques, qui sont absol­u­ment extra­or­di­naires lorsqu’on les com­bine ensem­ble : FILTRE, UNIQUE, SEQUENCE, TRI, TRI.PAR, etc. Vous avez un exem­ple ici.

  • Fil­tr­er dynamique­ment une liste com­plète suiv­ant des critères défi­nis.
  • Faire la somme d’une cel­lule située sur plusieurs feuilles por­tant un iden­ti­fi­ant. Par exem­ple, faire la somme de toutes les cel­lules B2 pour les feuilles Mois1, Mois2, Mois3… et ren­dre cette for­mule dynamique à l’a­jout d’une nou­velle feuille (INDIRECT+SEQUENCE).
  • Suiv­ant la même idée, faire une somme de plages en fonc­tion d’une liste de feuilles pré-établie (SOMME+INDIRECT).
  • Faire une recherche en cas­cade sur plusieurs listes dépen­dantes (FILTRE).
  • Com­bin­er le résul­tat d’une recherche dans une seule cel­lule (JOINDRE.TEXTE + FILTRE).

Si vous avez des besoins par­ti­c­uliers, je suis à votre dis­po­si­tion pour vous accom­pa­g­n­er dans vos pro­jets Excel ou VBA.

A bien­tôt !

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel

Retourner la liste des macros affectées à des objets.

Avec un ami, nous sommes en train de tra­vailler sur une nou­velle appli­ca­tion à des­ti­na­tion des chantiers de con­struc­tion. D’ailleurs, si vous êtes dans ce domaine, n’hésitez pas à deman­der une démon­stra­tion.

L’outil prenant de l’am­pleur, j’ai eu le besoin de doc­u­menter les macros qui sont attachées à des objets. Cette macro ne prend cepen­dant pas en compte le code qui est automa­tique­ment attaché à des con­trôles ActiveX. Ce type de code est générale­ment comme ceci : NomDuControle_click.

Voici donc un petit code rapi­de qui per­met de le faire :

Sub retourneMacroAffecteesAObject()
    Dim shp As Shape
    Dim wks As Worksheet
    Dim wksResult As Worksheet
    Dim lLigne As Long: lLigne = 1
    Set wksResult = ThisWorkbook.Worksheets.Add
    For Each wks In ThisWorkbook.Worksheets
        For Each shp In wks.Shapes
            If shp.OnAction <> "" Then
                wksResult.Range("A" & lLigne).Value = wks.name
                wksResult.Range("B" & lLigne).Value = shp.name
                wksResult.Range("C" & lLigne).Value = shp.OnAction
                wksResult.Range("D" & lLigne).Select
                wksResult.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "'" & wks.name & "'!A1", TextToDisplay:="'" & wks.name & "'!A1"
                lLigne = lLigne + 1
            End If
        Next shp
    Next wks
    wksResult.Columns("A:D").EntireColumn.AutoFit
    wksResult.Range("A1").Select
End Sub

A bien­tôt

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel