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

Pourquoi ça ne marche pas ?

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 !

djidji59430

XLDnaute Barbatruc
Bonjour,
je m'essaye au vba

Sub essai()
Dim col As Integer
Dim maplage As Range
col = 2
Sheets("03").Activate
lgn = Sheets("03").Range(Cells(col, Rows.Count)).End(xlUp)(2).Row-1


Si je mets lgn = Sheets("03").Range("b" & Rows.Count).End(xlUp)(2).Row - 1, ça fonctionne
je n'arrive pas a paramétrer

merci
 
Bonsoir

Tu as inversé ligne et colonne.
la syntaxe correcte est
Cells(ligne, colonne)

Ta macro ainsi corrigée fonctionne 😉
Code:
Sub essai()
Dim col As Long, lgn As Long
Dim maplage As Range
col = 2
Sheets("03").Activate
lgn = Sheets("03").Cells(Rows.Count, col).End(xlUp)(2).Row - 1
'pour test
MsgBox lgn
End Sub
 
Bonsoir @djidji59430 🙂, @Staple1600 😉,

Je suis troublé par l'écriture Sheets("03").Cells(Rows.Count, col).End(xlUp)(2).Row - 1
Et plus particulièrement par la fin: (2).Row - 1

En effet quand on a un range x, x(2) revient à considérer la cellule située sous la première cellule de la plage x
En prendre le numéro de ligne puis lui soustraire 1, revient à trouver la ligne de x
donc pour moi, il faut simplement écrire: Sheets("03").Cells(Rows.Count, col).End(xlUp).Row
 

Pièces jointes

Dernière édition:
Bonjour,
Je suis troublé par l'écriture Sheets("03").Cells(Rows.Count, col).End(xlUp)(2).Row - 1
Et plus particulièrement par la fin: (2).Row - 1
C'est pratiquement la premiere fois que je me lance dans le vba et ma formule je l'ai pompée quelque part, et comme elle fonctionne parfaitement dans son fichier, je ne me suis pas posé de question quant au (2).
Et je comprends maintenant pourquoi j'ai du retirer 1 pour pouvoir copier en dessous apres
Merci pour cette leçon


Crdlmt
 
Bonsoir à tous

Merci au VBAddictologues émérites qui peuplent ce fil de confirmer ce que je disais dans le message#2 au niveau syntaxique 😉
Car d'habitude quand on lit col dans VBE on pense colonne
Et si on veut penser ligne alors on écrit lig

Je plussoie à ce qu'à dit mapomme
djidji59430: Bienvenue dans le VBA, mais le VBA n'est le bienvenu que lorsque la Sainte Trinité d'Excel a atteint ses limites 😉

PS: Chez moi, la Sainte Trinité, c'est : les formules, les filtres, les TCD, et tout ce qu'on peut faire avec le ruban
(Merde!
Du coup, ils sont quatre au lieu de trois 😉)
 
- 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

Discussions similaires

Réponses
15
Affichages
472
Réponses
5
Affichages
783
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…