Cours numéro 10 VBA Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
T
TDI
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 14 août 2013
Version d'Excel : 2010

Message par TDI » 14 août 2013, 12:06

Bonjour,

Dans votre cours vba sur les tableaux (numéro 10), je ne comprend pas pourquoi lors de la redim et avec la fonction end vous écrivez :

derniere_ligne = range("a1").end(xldown).row
Pourquoi A1 et non pas la denrière ligne de notre base ?

Deuxième question,
Redim tab_exemple(dernière ligne - 2, 2)

Pourquoi soustraire -2 à dernière ligne ? je ne comprend pas

Merci énirmémenet de votre aide,

Bonne journée
f
frangy
Passionné d'Excel
Passionné d'Excel
Messages : 4'342
Appréciation reçue : 1
Inscrit le : 19 novembre 2012
Version d'Excel : 2007 FR

Message par frangy » 14 août 2013, 12:50

Bonjour TDI et :bv3:
derniere_ligne = range("a1").end(xldown).row
Pourquoi A1 et non pas la denrière ligne de notre base ?
L’intérêt est justement de trouver quel est le numéro de la dernière ligne d’une plage évolutive (plage dynamique).
Pour déterminer quel est le numéro de cette ligne, une solution consiste à se positionner sur la première cellule renseignée de la colonne (A1 par exemple pour la colonne A) puis de descendre dans cette colonne jusqu’à trouver la dernière cellule renseignée. Cette opération est réalisable avec Excel en sélectionnant la cellule A1 puis en appuyant sur fin puis flèche bas.
Si tu utilises l’enregistreur de macro, tu t’aperçois que cette opération se traduit par le code
Range("A1").Select
Selection.End(xlDown).Select
La dernière ligne renseignée correspond donc à Range("A1").End(xlDown).row
Redim tab_exemple(dernière ligne - 2, 2)
Pourquoi soustraire -2 à dernière ligne ? je ne comprend pas
Le but est de déterminer l’indice supérieur de la première dimension de tab.
Le nombre d’éléments de la colonne A est égal au nombre de lignes – 1 (on enlève 1 car l’en-tête ne doit pas être compté), soit dernière ligne-1.
De plus, par défaut l'indice inférieur d'un tableau commence à 0 alors que la première ligne de la table est numérotée 1. L’indice supérieur de tab sera donc (dernière ligne-1)-1, soit dernière ligne-2.

A+
T
TDI
Nouveau venu
Nouveau venu
Messages : 2
Inscrit le : 14 août 2013
Version d'Excel : 2010

Message par TDI » 14 août 2013, 13:31

Génial !

Merci beaucoup !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message