AiDuK
Messages postés80Date d'inscriptionlundi 22 octobre 2007StatutMembreDernière intervention30 juillet 2008
-
7 juil. 2008 à 09:03
AiDuK
Messages postés80Date d'inscriptionlundi 22 octobre 2007StatutMembreDernière intervention30 juillet 2008
-
9 juil. 2008 à 09:44
Bonjour à toutes et à tous,
Actuellement, mon code me permet d'extraire les informations contenues dans une feuille excel ( formulaire ), afin de les ajouter à une autre feuille excel ( Base de Données ). Les 2 feuilles se trouvent dans le même classeur.
Le code ressemble à ca :
Sub Extraire()
marecherche = Sheets("FIQ").Range("Y2").Value
With Sheets("BDD").Range("a:a")
Set c = .find(marecherche, LookIn:=xlValues)
If c Is Nothing Then
Call copie
End If
End With
End Sub
Sub copie()
Dim ProchaineLigneVide As Integer
With Sheets("BDD")
ProchaineLigneVide = .Range("A65536").End(xlUp).Row + 1
.Range("A" & ProchaineLigneVide).Value = Sheets("FIQ").Range("Y2").Value
.Range("B" & ProchaineLigneVide).Value = Sheets("FIQ").Range("A9").Value
.Range("C" & ProchaineLigneVide).Value = Sheets("FIQ").Range("I8").Value
.Range("D" & ProchaineLigneVide).Value = Sheets("FIQ").Range("S10").Value
.Range("E" & ProchaineLigneVide).Value = Sheets("FIQ").Range("S12").Value
End With
End Sub
La macro extraire permet de ne pas avoir de doublons, et la macro copie permet d'extraire les informations.
Ce que je souhaite faire, est de pouvoir choisir la feuille et le classeur d'ou extraire les informations.
En gros, le formulaire est standard.
Il faudrait faire quelque chose qui ressemble à un "parcourir", mais la , je ne sais pas comment faire.
Pouvez vous m'aider s'il vous plait.
Cordialement,
AiDuK
A voir également:
La cellule ou le graphique que vous essayez de modifier se trouve sur une feuille protégée
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 7 juil. 2008 à 16:09
Salut,
la fonction GetOpenFilename devrait faire l'affaire.
Sub OuvrirFichierExcel()
Dim FileToOpen As String
FileToOpen = Application.GetOpenFilename("Tout les fichiers Excel (*.xl*;*.xls;*.xla;*.xml;*.xlm;*.xlc;*.xlw),")
'si l'utilisateur clique sur le bouton Cancel FileToOpen sera = a false
'donc si FileToOpen n'est pas = a false on ouvre le fichier
If Not FileToOpen = False Then Workbooks.Open FileToOpen
End Sub
Dans ce cas la variable FileToOpen contient le chemin + le nom du fichier selectionné.
AiDuK
Messages postés80Date d'inscriptionlundi 22 octobre 2007StatutMembreDernière intervention30 juillet 2008 8 juil. 2008 à 09:00
Ah non , il persiste encore un problème.
Actuellement, à partir d'un classeur, il m'en ouvre une autre ( celui que je choisi ) , mais il cherche à faire la copie d'une feuille à une autre de ce classeur que je viens d'ouvrir.
Alors que je souhaites qu'il copie les cellules de la feuille (FIQ) du classeur que je suis allé ouvrir, vers la feuille (BDD) du classeur qui était actuellement en cours d'utilisation.
Sub Extraction()
Dim ProchaineLigneVide As Integer
Dim FileToOpen As String
FileToOpen = Application.GetOpenFilename("Tout les fichiers Excel (*.xl*;*.xls;*.xla;*.xml;*.xlm;*.xlc;*.xlw),")
'si l'utilisateur clique sur le bouton Cancel FileToOpen sera = a false
'donc si FileToOpen n'est pas = a false on ouvre le fichier
If Not FileToOpen = vbNullString Then Workbooks.Open FileToOpen
marecherche = Sheets("FIQ").Range("Y2").Value
With Sheets("BDD").Range("a:a")
Set c = .find(marecherche, LookIn:=xlValues)
If c Is Nothing Then