Bonjour,
Je souhaiterai avoir une courbe à l'année qui me donne le nombre de colis recu (voir feuille DATA, colonne REF OF)
Cette courbe doit s'arreter si je n'ai pas de chiffre. Exemple je n'ai rien pour Décembre 2024 mais l'année en cours (2025) là aussi, la courbe ne doit afficher que les colis recus en rapport à la date. : Pour 2025; vu l'exemple, la courbe doit s'arreter au mois d'Avril, puisque aucune saisie.
De plus, j'aimerai avoir un sélecteur qui me permet de choisir l'année. Sachant que l'année provient de la colonne G de la feuille DATA
Voilà, j'espère que c'est pas trop compliquer pour m'aider.
J'ai déja posté un meme sujet mais je le reprends ici car j'etais en full Excel. Sauf que maintenant, je suis sous Access pour la base de données et Excel pour le tableau de bord.
Voici un fichier que l'on m'a déja proposé mais qui est en total Excel
TEST_GESTION avx.xlsm
J'utilise : https://laurent-ott.developpez.com/t...-depuis-excel/
Pour cela, voici mes tests :
J'ai bien dans ma table OF_GENERAL sous ACCESS un champ DATE_RECEP qui est présent.
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 Sub GetYears() Dim sql As String Dim rs As Object '--------------------------------------------------------------------------------------------------------------- ' Ouvre une connexion '--------------------------------------------------------------------------------------------------------------- If ADO.Cnn_Initialise(Cnn1, "I:\070_IND\03_Fabrication\09_Muret\500 - ARCHIVES\BDD_LIEBHERR1_V1.5.accdb") = True Then ' Initialisation du traitement ADO avec transaction: ADO.Cnn_Debut AvecTransaction '-------------------------------------------------------------------------------------------------------------- 'sql = "SELECT DISTINCT Year(DATE_RECEP) FROM OF_GENERAL ORDER BY Year(DATE_RECEP) DESC" sql = "SELECT DISTINCT Year(DATE_RECEP) FROM OF_GENERAL;" Set rs = ADO.Execute_SQL(Cnn1, sql) ' Défilement bidirectionnel + verrou à la modification: Set rs = New ADODB.Recordset Do While Not rs.EOF years.Add rs.Fields("Year").value rs.MoveNext Loop rs.Close End If ' Fin du traitement (avec gestion des erreurs et de la transaction): ADO.Cnn_Fin AvecMessage 'ADO.Cnn_Fin SansMessage End Sub
Si j'exécute la requete sous ACCESS, elle fonctionne :
Et le code suivant m'affiche bien dans la feuille (feuil1) les années qui existent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT DISTINCT Year(DATE_RECEP) FROM OF_GENERAL;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ADO.Enr_Affiche cnn:=Cnn1, StrTableSource:="", _ SQLWhere:="SELECT DISTINCT Year(DATE_RECEP) " _ & "FROM OF_GENERAL;", _ RngDest:=ws.Range("A2")
Lorsque je lance le code j'ai une erreur sur :
OK mais ADO.Execute_SQL(Cnn1, sql) me déclenche sous Excel l'erreur suivante : Erreur de compilation Incompatibilité de type
Code : Sélectionner tout - Visualiser dans une fenêtre à part ADO.Execute_SQL(Cnn1, sql)
Merci pour votre aide.
Partager