Vba range dernière cellule visible

Résolu
Bonjour,

j'aimerais savoir comment écrire en vba la dernière cellule visible d'une colonne afin de faire un copie automatique de tables dans un autre fichier à partir d'un bouton de commande.

Par exemple, j'aimerais copier le range C:3 jusqu'à la derniere cellule utilisée de la colonne C, et la copier dans mon deuxième fichier dans la colonne D.

J'ai ceci :
Tabl = Sheets("Feuille1").Range("C65536").End(xlUp)

mais il prend en compte la cellule utillisée de la ligne C, mais il ne vois pas les autres jusqu'à C:3.

Aussi, si je filtre les données de ma colonnes (par exemple C14, C17:C19, C26 sont masqués) est-ce qu'il est possible qu'il ne copie pas ces cellules ? Copier seulement les cellules visibles disons...

Merci beaucoup de votre aide :D

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    insère ca dans ton code

    dim a,b
    dim a c as single

    a = X
    b = XX

    'X étant le numéro de la ligne où se situ ta dernière cellule remplie
    'XX étant le numéro de la ligne max de ton fichier (de mémoire 65536 je crois)

    b = range("c" & x).value ' si ta colonne est C

    for c = a to b

    range("c" & c).value ) b

    next

    Cordialement,
    1. Bonjour,

      Merci de ton information !

      Dans le cas ou ma derniere cellule remplie serait variable a chaque colonne que je veux copier, est-ce qu'il y a un moyen de dire de copier a partir de c3 jusqua la derniere remplie sans avoir à lui donner la ligne exacte ?

      par exemple x=premiere ligne utilisée
      et xx=dernière ligne utilisée ?

      Cordialement

      Martin
      1. Bonjour a vous deux

        'pour la dernière ligne de la colonne C
        D_L_C = Range("C" & Rows.Count).End(xlUp).Row
        'Plage a copier (les cellules masquees ne sont pas copiees)
        Range("C3:C" & D_L_C).Copy Range("D12") 'mettre votre destination

        Bonne suite