copie d'une feuille à l'autre des lignes non vides

  • Initiateur de la discussion okavangou
  • Date de début
O

okavangou

Guest
Bonjour,

j'ai une liaison via requete entre une base de données access et un classeur excel.

mon tableau dans excel comporte 2 feuilles

1 comportant le tableau de 197 lignes et une vingtaine de colonnes et qui est automatiquement mise à jour à l'ouverture par la base de données access.
nombre de lignes renseignées variant donc de 1 à 197.


1 feuille vierge dans laquelle je voudrai automatiser la copie en collage spécial(les valeurs seulement) du tableau de la feuille 1 et en copiant seulement les lignes non vides .

exemple:1er feuille / Tableau avec 32 lignes renseignées sur ma première feuile et 165 à zéro.
je voudrai qu'apparaisse dans la deuxième feuille un tableau avec 32 lignes seulement.

j'aurai également souhaité que cela s'éxecute automatiquement à l'ouverture du classeur .

y aurait il donc moyen

1) d'avoir une macro qui s'éxecute automatiquement à l'ouverture
du classeur?.
2)que cette macro fasse un simple copier coller du tableau de la feuille 1 sur la feuille 2 , en collant seulement les valeurs(collage spécial) et en ne reprenant que les lignes contenant des données ?.


ne suis pas sur que ma question soit trés claire, mais si quelqu'un pouvait avoir une idée sur la question

merci d'avance

laurent
 

chris

XLDnaute Barbatruc
Bonjour
En fait il y a plusieurs pistes selon ton cas :
1 Modifier la requête pour n'extraire que les lignes non vides
2 Si les lignes vides sont toutes à la fin du tableau :
lancer l'enregistreur macro, se positionner sur le ligne 65000 d'une colonne sans trou (de préférence la dernière colonne si c'est bien son cas), utiliser le raccourci clavier CTRL flèche haut pour sepositionner sur la dernière ligne remplie puis les raccourccis clavier nécessaire pour sélectionner la plage (Shift CTRL Home si on est bien sur la dernière colonne) et effectuer le copier coller.
Arrêtrer l'enregistreur.
Tu as le code à coller dans l'éditeur VBA dans This workbook comme
Private Sub Workbook_Open()
3 si les les lignes vides sont intercalées, utiliser l'enregistreur de la même manière mais en ajoutant en première action un filtre auto sur le champ qui permettra de ne pas afficher les lignes vides.
 
O

okavangou

Guest
Merci Chris ,


finalement , j'ai simplement créé une requete à l'interieur du meme classeur xls qui crée une feuille avec un tableau constitué uniquement des lignes non vides du tableau d'origine


laurent
 
Y

Yéti

Guest
Re:copie d'une feuille à l'autre des lignes non vi

' Détermination de la dernière ligne de datas
c = 'A'
l = 1
cl = c & l

Range(cl).Select
Do While Not IsEmpty(Range(cl))
l = l + 1
cl = c & l
Range(cl).Select
If l = 65535 Then Stop
Loop
l = l - 1
lbas = l


;)
 

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 054
Membres
103 443
dernier inscrit
ttttttttttttttttt