Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Explication du Code .End(xlUP) - SVP

  • Initiateur de la discussion Initiateur de la discussion fleurdasie
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

fleurdasie

Guest
Bonjour,

Pourriez-vous me dire quelle est la différence entre ces deux codes?
J'en suis sûre que c'est la même mais je ne comprends pas le (2) du premier code.

Sheets("1").[D65536].End(xlUp)(2).PasteSpecial xlValues

et

Sheets("1").[D65536].End(xlUp).Offset(1,0).PasteSpecial xlValues

Je vous remercie!
 
Re : Explication du Code .End(xlUP) - SVP

Bonjour Fleurdasie 🙂,
Pour moi, ce serait une hérésie et je n'aurais même pas pensé que ça fonctionne 😕...
un range avec un indice derrière est en principe la position dans la matrice, mais le Range étant une seule cellule, l'indice 2 devrait renvoyer une erreur puisqu'il n'y a pas de deuxième cellule, ce qui n'est pas le cas 🙄...
Donc ça sélectionne la cellule en dessous de celle renvoyée par End(xlUp).
Alors que la deuxième, beaucoup plus logique, utilises OffSet (descendre d'une ligne, pas de changement de colonne) 😛.
Voilà, j'espère que c'est plus clair 😎
 
Re : Explication du Code .End(xlUP) - SVP

Salut fleurdasie et le forum
Sheets("1").[D65536].End(xlUp)(2).PasteSpecial xlValues
Sheets("1").[D65536].End(xlUp).Offset(1,0).PasteSpecial xlValues
Les deux formule signifient la même chose. Mais un extrait d'un code...
Coller (.PasteSpecial) la/les valeur(s) (xlValues) de ce qui est dans le presse-papier dans la feuille de nom d'onglet "1" à partir de la cellule trouvée en partant de la ligne 65536 dans la colonne D ([D65536] et en cherchant le premier changement vide/non-vide (.End) en remontant (xlup), en décalant d'une ligne et de 0 colonne ((2) ou Offset(1,0)).

En plus clair : coller les valeurs du presse-papier à partir de la cellule suivant la dernière cellule de D non vide de la feuille 1.
Ne connaissant rien d'autre que le sujet, 2 remarques :
- Il ne faut pas confondre Sheets("1") feuille de nom d'onglet 1 et Sheets(1) feuille d'indice 1, le premier onglet
- Jusqu'à la version 2007, les feuilles avaient 2^16=65536 lignes. depuis, elles ont une autre limite. La formule, aujourd'hui sera plutôt :
Code:
Sheets("1").cells(Rows.count,"D").End(xlUp).Offset(1,0).PasteSpecial xlValues
ou une de ses variantes : la cellule du nombre de lignes de la feuille en D : la dernière cellule de D
A+
 
Dernière édition:
Re : Explication du Code .End(xlUP) - SVP

Bonjour

Dans un tableau excel tu peux te déplacer avec la touche Fin et les flèches

Fin, ensuite fleche droite, te déplace vers la derniere cellule utilisé a droite.
Fin, ensuite fleche bas, te déplace vers la derniere cellule utilise en bas.

Bref, ce code simule les touches
End() pour Fin
Et entre parenthèse tu indique la direction
xlup
xlDown
xltoleft
xltoright

[D65536] te donne l'adresse de départ
Peut être remplaer par Range("D65536")
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
786
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
Réponses
10
Affichages
791
  • Question Question
Réponses
7
Affichages
343
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…