Autres Récuperer la valeur de la derniere cellule non vide d'une colonne

Bizarre

XLDnaute Nouveau
Bonjour ;

Actuellement pour remplir une textbox j’utilise ce code :

Me.TextBox29 = .Range("R" & DerLig) dans un autre fichier

J’aimerais savoir s’il existe aussi un code pour récupérer la valeur de la dernière cellule non vide ; même si dans la colonne il y a des cellules vides. Dans le fichier joint supposons que je veuille remplir la textbox6 (Disque avant ) avec la dernière valeur de la colonne I. Comment faire
 

Pièces jointes

  • Données parcours 1.xlsm
    33.1 KB · Affichages: 9
Solution
Je viens de me rendre compte que la colonne "cassette" existe aussi pour la route, donc tu trouveras en pièce jointe une nouvelle version du fichier (entièrement corrigé cette fois-ci : nom de tableau, en-têtes de colonnes, etc.).

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Peut-être ceci :
VB:
Sub Test()
    Set DerCel = Range("Données_Sortie_Vélo[Disque avant route]")(Range("Données_Sortie_Vélo[Disque avant route]").Rows.Count)
    If DerCel = "" Then Set DerCel = DerCel.End(xlUp)
    textbox6.Value = DerCel.Value
End Sub
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Il faut peut-être mettre Me.textbox6 (à tester).

Je viens de tester (j'avoue que je n'avais pas testé), et chez moi ça fonctionne, même sans le Me.

Exemple dans ta macro UserForm_Initialize :
VB:
Private Sub UserForm_Initialize()
'Pour initialiser le formulaire Données_sortie_vélo

    Application.ScreenUpdating = False
    TextBox1 = Format(CDate(Date), "dd.mm.yyyy") 'donnée de la sortie
    TextBox1 = Date     'Date de la de la sortie

    With Me
        .Top = 100 'Pour placer le formulaire à une certaine distance du haut
        .Width = 500 'Largeur
        .Height = 250 'Hauteur
        .Left = 230 'Pour placer le formulaire à une certaine distance de la gauche de l'ecran
    End With

    Set DerCel = Range("Données_Sortie_Vélo[Disque avant route]")(Range("Données_Sortie_Vélo[Disque avant route]").Rows.Count)
    If DerCel = "" Then Set DerCel = DerCel.End(xlUp)
    TextBox6.Value = DerCel.Value

End Sub
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Je viens de tester en modifiant comme indiqué mais textbox 6reste vide
Vu que chez moi ça fonctionne, je ne vois pas que te dire de plus. :(

Capture_2022-12-27_21-16-51.png

Capture d’écran_2022-12-27_21-18-40.png
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Salut Phil69970 et merci car je n'avais pas vu où il fallait assigner TextBox6.Value.

Du coup je propose, sur ma proposition initiale :
VB:
Private Sub ComboBox2_Change()
    Set DerCel = Range("Données_Sortie_Vélo[Disque avant " & ComboBox2.Value & "]")(Range("Données_Sortie_Vélo[Disque avant " & ComboBox2.Value & "]").Rows.Count)
    If DerCel = "" Then Set DerCel = DerCel.End(xlUp)
    TextBox6.Value = DerCel.Value
End Sub
 

TooFatBoy

XLDnaute Barbatruc
Et tu as essayé avec mon code ?
J'ai dl le fichier, puis j'ai lancé le UserForm, et j'ai constaté que ça ne donnait pas la bonne valeur.

[edit]
Au temps pour moi. J'ai cru que tu me proposais un fichier dans lequel mon code ne fonctionnait pas.
Du coup je n'ai pas regardé le code, donc je n'ai pas vu que c'était le tien. :(
[/edit]
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
OK, je fais ça et je reviens. ;)


Je n'avais pas vu le bouton. :(
Je viens de cliquer sur le bouton : ça m'ouvre une MsgBox qui donne les coordonnées du tableau.
Et je précise que ça marche nickel : toutes les valeurs affichées sont les bonnes. 👍
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 140
Membres
112 669
dernier inscrit
Guigui2502