Bonjour à tous,
Je maintiens une base Access 2010 qui pilote par VBA un fichier excel :
Je recherche dans ce fichier une valeur appelée UG :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Set oWkb = xlApp.Workbooks.Open(DLookup("[CHEMIN_ROULEMENT]", "TAB_PARAMETRE") & DLookup("[NOM_FICHIER_ROULEMENT]", "TAB_PARAMETRE")) Set oWSht = oWkb.Worksheets(ind_onglet) Dim ligne, lignetrouvee As Range
Pour l'instant tel que le programme est écrit si cette valeur n'existe pas on passe à la valeur suivante du recordset oRst :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ug = oRst.Fields("UG") ug = Mid(ug, 4, 4) If IsNull(ug) Then oRst.Close End If 'definition de la plage de cellule où on cherche l'ug Set lignetrouvee = oWSht.Range("B1:B400").Find(ug, lookat:=xlPart)
Je voudrais maintenant améliorer le processus en pouvant insérer automatiquement dans le fichier excel la valeur UG inexistante, mon problème est que je ne connais pas les fonctions qui peuvent faire cela depuis Access, si quelqu'un peut m'apporter son aide MERCI
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 cSQL = "select distinct UG, NB from [TAB_COUNT_UG];" Set oRst = CurrentDb.OpenRecordset(cSQL) Set lignetrouvee = oWSht.Range("B1:B400").Find(ug, lookat:=xlPart) ' If lignetrouvee Is Nothing Then Do While lignetrouvee Is Nothing MsgBox "Attention UG non existante dans le fichier excel Roulement", _ vbOKOnly + vbExclamation, _ "Attention ! UG à CREER DANS LE FICHIER ROULEMENT !!! " oRst.MoveNext
Partager