vgendron
XLDnaute Barbatruc
Bonjour !
comme nombre d'entre nous, je souhaite copier coller des données de fichiers fermés vers le fichier actif
mes recherches m'ont amené à ce post:
	
	
		
			
				
					
						 
					
				
			
			
				
					
						
							 www.excel-downloads.com
						
					
					www.excel-downloads.com
				
			
		
	
j'ai adapté le code pour avoir le nombre de lignes de chaque fichier à importer, ainsi que les colonnes
	
	
	
	
	
		
ca fonctionne presque comme je veux: Ca n'importe que les données "numériques", et toutes les données alpha sont ignorées
apparemment l'argument "IMEX" est censé répondre au besoin.. sauf que. bah. ca ne fonctionne pas
sauriez vous m'aiguiller sur ce qui ne va pas?
notes: les fichiers sources sont générés automatiquement en amont==> impossible de modifier quoique ce soit, pas meme le format "standard" des colonnes
Merci
	
		
			
		
		
	
				
			comme nombre d'entre nous, je souhaite copier coller des données de fichiers fermés vers le fichier actif
mes recherches m'ont amené à ce post:
 
					
				Extraire certaines cellules de plusieurs fichiers fermés
Bonjour,  je cherche à récupérer les cellules M12 à Q12 de ces 3 fichiers excel (qui sont fermés et dans un meme repertoire) et à les rapatrier dans un quatrieme fichier (de A1 a E1 pour les data du 1er fichier; de A2 à E2 pour les data du 2eme fichier; de A3 à E3 pour le troisieme.....) Je...
				 www.excel-downloads.com
						
					
					www.excel-downloads.com
				j'ai adapté le code pour avoir le nombre de lignes de chaque fichier à importer, ainsi que les colonnes
		VB:
	
	
	Sub LireFichierFermé(xChemin, xFichier, xLig)
    On Error GoTo SiErreur
    Dim xTexte_SQL As String
    Dim xOnglet As String
    Dim xPlage As String
    Application.ScreenUpdating = False
    xOnglet = "Feuil1"
    
    'Connexion ADO
        Set Source = CreateObject("ADODB.Connection")
        'Avant XL 2007
            'Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & xChemin & "\" & xFichier & ";Extended Properties=""Excel 8.0;HDR=No;"";"
        'Après XL 2007
            'Source.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & xChemin & "\" & xFichier & ";Extended Properties=""Excel 12.0;HDR=NO;"";"       'IMEX=1";
            Source.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & xChemin & "\" & xFichier & ";Extended Properties=""Excel 12.0;HDR=NO;IMEX=1"";"       'IMEX=1";
    
    'on prépare la Requette pour avoir la dernière ligne du fichier
    strQuery = "SELECT COUNT(*) FROM [" & xOnglet & "$]"
    Set Requete = Source.Execute(strQuery) 'on execute la requete
    derlign = Requete.Fields(0).Value + 1 'on récupère la dernière ligne
    
        'on peut donc définir les variables
        
        xPlage1 = "A6:B" & derlign
        xPlage2 = "D6:D" & derlign
        
    'Exerce la requete ADO sur les donnée à recopier
        xTexte_SQL = "SELECT * FROM [" & xOnglet & "$" & xPlage1 & "]"
        Set Requete = CreateObject("ADODB.Recordset")
        Set Requete = Source.Execute(xTexte_SQL)
    'Ecriture des données lues dans le fichier en cours
        ActiveSheet.Range("E" & xLig).CopyFromRecordset Requete
        
    'Exerce la requete ADO sur les donnée à recopier
        xTexte_SQL$ = "SELECT * FROM [" & xOnglet & "$" & xPlage2 & "]"
        Set Requete = CreateObject("ADODB.Recordset")
        Set Requete = Source.Execute(xTexte_SQL$)
    'Ecriture des données lues dans le fichier en cours
        ActiveSheet.Range("G" & xLig).CopyFromRecordset Requete
    'Ferme la requete
        Set Requete = Nothing
        Set Source = Nothing
        Application.ScreenUpdating = True
        Exit Sub
SiErreur:
        MsgBox "Pas de feuille ""Feuil1"" dans le fichier " & xFichier, vbExclamation
End Subca fonctionne presque comme je veux: Ca n'importe que les données "numériques", et toutes les données alpha sont ignorées
apparemment l'argument "IMEX" est censé répondre au besoin.. sauf que. bah. ca ne fonctionne pas
sauriez vous m'aiguiller sur ce qui ne va pas?
notes: les fichiers sources sont générés automatiquement en amont==> impossible de modifier quoique ce soit, pas meme le format "standard" des colonnes
Merci
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		