Bonjour à tous,
Je maintiens une base Access 2010 qui pilote par VBA un fichier excel :
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
Je recherche dans ce fichier une valeur appelée UG :
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)
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
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
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