Plage nomée variable pour importer dans Access

Résolu
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   -  
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

Voilà mon problème :

Je dois faire des fichiers excel ".xls" d'une quinzaine de colonnes et d'une centaine de lignes chacun.

Ces fichiers excel devront ensuite être importé dans une Base de donnée Access.

Le problème c'est que ces fichiers n'auront pas tous le même nombre de ligne. Donc impossible de définir une plage nomée fixe, car cela importerait également les lignes vides dans la Base de donée.

Ce que j'aimerais c'est définir une page nomée de cette magnière : Plage nomée =$A$2:$U$X

X = le nombre de de ligne remplie + 1

J'ai essayé d'utilisé la formule "INDIRECT" mais ça n'a pas marcher. Je ne suis pas certain de l'avoir utilisée correctement.

J'aimerait que le fichier reste assez simple, et donc aimerait évité d'utiliser du VBA.

Est-ce que vous auriez une idée ?

Si vous voulez je peux vous mettre un lien vers le fichier excel "brouillon" pour que vous fassiez des tests.

Merci
A voir également:

2 réponses

PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824
 
Bonjour

Voici une méthode pour copier de la feuille 1 cellule B5 jusqu'à la dernière cellule remplie à droite puis jusqu'à la cellule remplie vers le bas, à respecter il ne faut pas de cellule vide dans la première ligne et la première colonne les informations seront collées valeur sur la feuille synthèse en A1

Sub copiecollerplage()
'
' copiecollerplage Macro
'

'
Sheets("Feuil1").Select
Range("B5").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("synthèse").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
End Sub


C'est en forgeant que l'on devient forgeron. - C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
1
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Merci beaucoup, ça serait une solution mais j'ai finalement obter pour une solution légèrement différente. Qui est propre a mon classeur.

Je vous remerci tout les deux !
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Juste un question au sujet de ta macro.

Est-ce que pour ta macro, une cellule avec une fonction qui donne "" ou 0 est une cellule vide ?

Ou est-ce que tu saurais comment définir : la dernière ligne = la première ligne avec la valeur 0 dans colonne B à partire de B5 ?

Merci beaucoup

PS.- Et est-ce que ça copie également le format des cellules ? ou juste les valeurs ?

PS2.- Est-ce qu'il est possible de donner une collonne exacte pour la fin ?
0
PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824
 
Bonsoir

Si une cellule donne "" ou 0 cela correspond au résultat d'une formule donc la cellule n'est pas vide
la macro copie tout c'est au collage que l'on choisi tout, valeur ou formule ...
0
castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
 
Bonjour
tu peux exporter une feuille d'excel vers access ou importer depuis access une feuille d'excel a condition que la premiere ligne serve de nom de champ pour access.Une feuille devient une table dans access
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Oui mais on peut aussi définir une plage nomée qui est alors importé.

Le problème c'est que cette plage est fixe, et si des lignes sont vides elles sont également importés.
0
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
Deplus quand je fait ça, ça m'importe 200 lignes alors qu'il n'y a qu'une 20taines de lignes remplies
0