Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Alimenter un tableau d'un fichier fermé

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J-Charles

XLDnaute Occasionnel
Bonjour à tous,
J'aimerais savoir s'il est possible d'alimenter un tableau d'excell sans l'ouvrir, à partir de données d'un autre tableau. En effet, j'alimente un tableau d'un fichier "A" à l'aide d'un formulaire mais j'aimerais que certaines données soient saisies également dans un autre tableau d'un fichier "B" qui lui est fermé.Il ne s'agit pas de coller avec liaison car ce tableaux (B) (à 3 colonnes ) doit être alimenté ligne aprés ligne.
En ce qui concerne la procédure pour ouvrir le fichier, rechercher de la 1 ère ligne vide, saisir les données .... il n'y a pas de problème. Simplement pour gagner en vitesse, j'aurais aimé ne pas ouvrir le fichier "B". Il est possible que j'en demande trop à VBA
Merci d'avance
 
Re : Alimenter un tableau d'un fichier fermé

Bonjour J-Charles

Il est possible que j'en demande trop à VBA
Tu veux rire j'espère 😀

Voilà un petit code qui devrait pouvoir correspondre à ta demande
Code:
Sub SetExternalDatas(DestFile As String, _
               DestFeuille As String, _
               DestCellAdr As String, _
               DataToWrite As Variant)
Dim oConn As ADODB.Connection
Dim oCmd As ADODB.Command
Dim oRS As ADODB.Recordset
Dim RangeDest
'd'après Rob Bovey, mpep

  ' Open a connection to the Excel spreadsheet
  Set oConn = New ADODB.Connection
  oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=" & DestFile & ";" & _
           "Extended Properties=""Excel 8.0;HDR=No;"";"

  ' Create a command object and set its ActiveConnection
  Set oCmd = New ADODB.Command
  oCmd.ActiveConnection = oConn

  ' This SQL statement selects a cell range in the "feuilleTest" worksheet.
  '1 Sélection pour écrire dans une seule cellule
  RangeDest = DestCellAdr & ":" & DestCellAdr
  oCmd.CommandText = "SELECT * from `" & DestFeuille & "$" & RangeDest & "`"

  ' Open a recordset containing the worksheet data.
  Set oRS = New ADODB.Recordset
  oRS.Open oCmd, , adOpenKeyset, adLockOptimistic

  ' Update last row
  oRS(0).Value = DataToWrite
  oRS.Update
  
  'Close the connection
  oConn.Close
  Set oConn = Nothing
  Set oCmd = Nothing
  Set oRS = Nothing

End Sub

A+
 
Re : Alimenter un tableau d'un fichier fermé

Salut Bruno
Je te remercie pour la rapidité de ta réponse, mais à vrai dire mon niveau ne me permet pas de comprendre la totalité du code et surtout comment l'utiliser.
Un grand merci quand même.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
373
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…