Bonjour à tous
Dans une macro, comment récupérer des données d'un fichier Excel ?
Merci de votre aide.
Claude Azoulai
Bonjour à tous
Dans une macro, comment récupérer des données d'un fichier Excel ?
Merci de votre aide.
Claude Azoulai
Bonjour,
La question n'est pas très précise, quel est le but de cette extrction?
Il existe la fonction de publipostage qui peut permettre de récupérer la valeur des cellules d'un classeur Excel.
Il est possible via DAO ou ADO de lire les données d'un fichier excel fermé ou bien d'ouvrir le fichier et copier des données à des emplacements précis en VBA.
Sans savoir le but de cette extraction, difficile de répondre.
Cordialement,
Christophe
Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
Bonjour et merci de ton aide
Je voudrais récupérer les données via DAO ou ADO.
Claude Azoulai
Bonjour,
Autant que possible, il faut éviter d'utiliser DAO. C'est une technologie que Microsoft considère dépassée. Elle est (peut-être) toujours là pour des besoins de compatibilité.
Pour ADO, regarde par là:
http://support.microsoft.com/kb/257819/fr
Mais ils donnent une chaîne de connexion antique. Pour une chaîne de connexion moderne (Office 2007, Office 2010 et Office 2013), va voir là:
http://www.connectionstrings.com/excel/
À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.
Ô Saint Excel, Grand Dieu de l'Inutile.
Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.
Bonjour et merci à toi.
Depuis mon dernier message, je n'ai plus besoin de récupérer des données dans un fichier Excel puisque mes commandes partent de ce fichier Excel.
Il me reste un petit problème que malgré mes recherches sur le net, je n'ai pas résolu.
Le voici :
Sur une feuille Excel j'ai sélectionné manuellement les lignes qui m'intéressent.
Comment (dans une Macro), retrouver les numéros des lignes sélectionnées ?
Claude Azoulai
Bonjour,
Il suffit d'activer la feuille Excel pour la copie puis d'utiliser la méthode copy de l'objet selection.
Pour le collage, il suffit d'utiliser la méthode pastespecial de l'objet range sur lequel on se trouve.
Par exemple pour copier la sélection de la feuille1 dans la cellule A67 (et suivantes) de la feuille2
On peut aussi utiliser la fonction pastespecial avec l'objet selection de Word dans quelque chose de ce style à adapter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 'Activer la feuille cela sous entend qu'on a déjà sélectionner les cellules (lignes, colonnes). Inutile si on est déjà sur cette feuille de calcul. ActiveWorkbook.Worksheets("Feuil1").Activate 'Copie de la sélection Selection.Copy ActiveWorkbook.Worksheets("Feuil2").Range("A67").PasteSpecial
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 'Copie de la sélection Excel ActiveWorkbook.Worksheets("Feuil1").Activate Selection.Copy 'Déclaration d'une nouvelle instance de Word + collage dans word Set wordapp = New Word.Application wordapp.Visible = True Set worddoc = wordapp.Documents.Add worddoc.Activate wordapp.Selection.Paste
Cordialement,
Christophe
Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
Merci à vous
J'ai fini par retrouver (ouf!), l'exemple que je recherchais.
Pour ceux qui examineraient cette discussion, je le rapporte ici.
Claude Azoulai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 For Each Rw In Selection.Rows Ligne = Rw.Row 'Traitement du N° de ligne ICI Next Rw
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager