Reformuler partie code Dernière Ligne avec variable colonne

Bonjour la communauté, j'espère que vous allez bien :)

J'ai cette expression pour laquelle je voudrais trouver une équivalence :

DerLig8 = Sheets("UTILITAIRE").Range("A" & Rows.Count).End(xlUp).row

En effet, DerLig8 varie selon la colonne qui reçoit les instructions du code. la variable définie est Col5 allant de 1 jusqu'à 10.

J'ai essayé avec :

DerLig8 = Sheets("UTILITAIRE").Range("Col5" & Rows.Count).End(xlUp).row

mais ça ne marche pas ...

Comment je peux reformuler DerLig8 s'il vous plait ?

Merci

Bonjour,

Essaie ainsi :

DerLig8 = Sheets("UTILITAIRE").Cells(Rows.Count, Col5).End(xlUp).Row

Bon dimanche

bonjour,

il y a une chose qu'on oublie toujours avec ce genre de questions, End(xlup) recherche toujours la première cellule non-vide VISIBLE !

Supposons que les cellules A1:A20 ne sont pas vide mais A11:A20 ne sont pas visible parce qu'on a filtré ou caché ces lignes, et bien, le "...End(xlup).row" sera 10.

Si vous continuez avec ce 10, et collez des données à partir de la ligne 11, alors

Donc avant d'utiliser cet outil, il faut peut-être remettre à zéro les autofilters

CousinHub : grand merci tu me sauve pour la 2eme fois ce week-end :)

BsAlv : merci pour ta remarque ... effectivement je suis passé par là et ça m'a pris beaucoup de temps pour comprendre que si une cellule n'est pas vide si visiblement ell est vide ... si elle inclue une formule dont le résultat est égal à "" bah elle n'est pas vide !!!!

Merci à vous et bon dimanche

Me

En effet, ça ne s'arrête pas là ...

J'ai déclaré également une variable tableau qui fonctionne bien tant que la colonne source est définie :

Dim tableau(49, 0)
    Dim m As Integer
    For m = 0 To 49
    tableau(m, 0) = Sheets("UTILITAIRE").Range("A" & m + 4)
    Next m

IL en est de même, je voudrais que "A" devient "B" ou "C" selon la demande ... c'est aussi Col5 allant de 1 à 10

Pouvez vous conseillez svp ?

Merci

Bonsoir, j'ai pu résoudre moi même le problème pour la variable tableau. Voici le code rectifié :

Dim tableau(49, 0), m As Integer, Col6 As Integer
For m = 0 To 49
For Col5 = 71 To 80
If Sheets("UTILITAIRE").Cells(3, Col5) = TextBox1 Then
    tableau(m, 0) = Sheets("UTILITAIRE").Cells(m + 4, Col5)
    End If
    Next Col6
    Next m

J'ai en fait bricolé de la sorte que la colonne Col5 soit définie par un critère =TextBox1 (tête de la colonne B, C, D ou F ...) situé sur l'userform. Mais bon c'est un bricolage utile et non pas inventé.

Voila donc la ligne suivante :

tableau(m, 0) = Sheets("UTILITAIRE").Range("A" & m + 4)

a été remplacé par :

tableau(m, 0) = Sheets("UTILITAIRE").Cells(m + 4, Col5)

Ceci veut dire que la variable tableau ne tire pas source uniquement de la colonne A mais de plusieurs colonnes selon la condition.

J'espère avoir été utile :)

Me

Rechercher des sujets similaires à "reformuler partie code derniere ligne variable colonne"