Bonjour,
J'ai une macro qui me permet de saisir de nouvelles données dès la première ligne vide d'une feuille.
Celle-ci s'accompagne d'une boîte de dialogue contenant un contrôle DateField, et c'est sur ce point où je rencontre un problème :
Sur la FAQ (Commment transférer la date sélectionnée dans un contrôle DateField vers une cellule de la feuille de calcul ?, le code proposé me renvoie tout simplement l'erreur "Erreur d'exécution BASIC. Variable d'objet non définie." en surlignant la ligne suivante :
Le script en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part .Value = CDateFromIso(BoiteDeDialogue.getControl("DateField1").Date)
A noter que les scripts sont quasiment les mêmes, seules quelques variables ont changé par rapport à la FAQ pour que je puisse la tester sur mon module.
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 Sub InsertionDate() Dim MonDoc As Object Dim MaFeuille As Object Dim oNumberFormats As Variant Dim Loc As New com.sun.star.lang.Locale MaFeuille = MonDoc.Sheets.getByName("FEUILLE") oNumberFormats = ThisComponent.NumberFormats 'Insére la date sélectionnée dans la cellule A2 With Feuille.getCellByPosition(0 , 1) 'spécifie le format de la cellule .NumberFormat = oNumberFormats.getStandardFormat( com.sun.star.util.NumberFormat.DATE , Loc ) .Value = CDateFromIso(BoiteDeDialogue.getControl("DateField1").Date) 'La variable BoiteDeDialogue est déjà définie (associée) à la boîte de dialogue dans une autre partie du module. End With End Sub
J'en appelle aux modérateurs ou experts (ou @SilkyRoad qui a effectué la dernière mise à jour) pour le coup qui ont rédigé la FAQ, si vous auriez une idée du problème ?
Partager