copie des cellules ouvert, vers des cellules fermé

  • Initiateur de la discussion Initiateur de la discussion lamho27
  • Date de début Date de début

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 !

Re : copie des cellules ouvert, vers des cellules fermé

j'ai trouvé code VBA suivante:
Transférer des enregistrements entre 2 classeurs fermés

"Classeur1_Fermé.xls" est le classeur source . toutes les données de la Feuil1 sont récuperees dans la requete

Classeur2_Fermé.xls" est le classeur destination . les données recuperees sont ajoutées a la suite des enregistrements existants

Le classeur contenant la macro et les 2 classeurs fermés sont dans le meme repertoire

Sub tranfertEntreClasseursFermes()

Dim Cn As New ADODB.Connection

Dim oProdRS As New ADODB.Recordset, oRS As ADODB.Recordset

Dim oConn As ADODB.Connection

Dim j As Integer

'------------------------------------------------------------------

' "Classeur1_Fermé.xls" est le classeur source

Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=" & thisWorkbook.Path & "\Classeur1_Fermé.xls;" & _

"Extended Properties=""Excel 8.0;HDR=NO;"""

'les donnees sources sont dans la Feuil1 du classeur "Classeur1_Fermé.xls"

oProdRS.Open "SELECT * FROM [Feuil1$]", Cn, adOpenStatic

'------------------------------------------------------------------

' "Classeur2_Fermé.xls" est le classeur destination

Set oConn = New ADODB.Connection

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=" & thisWorkbook.Path & "\Classeur2_Fermé.xls;" & _

"Extended Properties=""Excel 8.0;HDR=NO;"""

'les donnees sont à placer dans la Feuil1 du classeur "Classeur2_Fermé.xls"

Set oRS = New ADODB.Recordset

oRS.Open "Select * from [Feuil1$]", oConn, adOpenKeyset, adLockOptimistic

'------------------------------------------------------------------

'transfert des données

Do While Not (oProdRS.EOF)

oRS.addNew

For j = 0 To oRS.Fields.Count - 1

oRS.Fields(j) = oProdRS.Fields(j).Value

Next j

oRS.Update

oProdRS.moveNext

Loop

oProdRS.Close

Cn.Close

oRS.Close

oConn.Close

End Sub
ça donne , mais pas tout a fait,parce que je voudrais si corresponde avec N° lot et pas besoin de " classeur requête "
 
- 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
3
Affichages
326
Retour