Afficher la dernière ligne pour l'ascenseur pour une fenêtre

Résolu
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023 - 25 oct. 2023 à 11:34
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023 - 31 oct. 2023 à 08:52

Bonjour,

Je réalise une fenêtre de saisie permettant de remplir un tableau.

Cela fonctionne bien sauf un petit paramètre de "confort". Ce paramètre est de sélectionner la première ligne vide de mon tableau directement à l'ouverture de la fenêtre.

Il y a un bouton Ascenseur lié au numéro de ligne (SpinButton1 dans le code) qui me permet de naviguer dans le tableau. Sauf qu'à l'ouverture de la fenêtre, ce dernier reste vide et si j'appuie sur le bouton, il commence en 1ère ligne de mon tableau.????

J'ai préparé une fonction pour calculer le numéro de la 1ère ligne vide (Dernière fonction) qui fonctionne bien. Mais je n'arrive pas la lier au bouton Ascenseur.

Je souhaiterais savoir:

  • Comment afficher le numéro de la ligne vide directement à l'ouverture de la fenêtre.
  • Comment limiter l'ascenseur (Mini la 1ère ligne du tableau; Maxi la 1ère ligne vide)

Je vous mets les codes.

Public Sub UserForm1_Initialize()  'initialisation de la fenetre

    UserForm1.Height = 336.5
    UserForm1.Width = 619.5
    
    Call calcul_ligne_vide
    
    SpinButton1.Min = 4             'mini du bouton Ascenseur
    SpinButton1.Max = ligne_D       'maxi du bouton Ascenseur
    
    Call AdapterTailleFormAEcran    'Taille de la fenetre

End Sub
-----------------------------------------------------------------
Public Sub SpinButton1_Change()      'Changement bouton Ascenseur
    
    ligne = SpinButton1.Value
    
    If ligne = ligne_D Then
        Call nouvelle_saisie
    Else
        Call modif
    End If

End Sub
------------------------------------------------------------------
Public Sub ouvrir_userform()    'ouverture userform

'    ActiveSheet.Unprotect
    
    Application.ScreenUpdating = False  'figer actualisation ecran
    
    Call nouvelle_saisie    'appel fonction nouvelle_saisie
    
    UserForm1.Show  'afficher userform
    
    Application.ScreenUpdating = True   'remise en route actualisation
    
'    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    
End Sub
-------------------------------------------------------------------
Public Sub calcul_ligne_vide()  'determination premiere ligne vide

    Dim d As Integer
    
    d = 4
    Do While Worksheets("LUP").Cells(d, 1).Value <> ""       'boucle 
recherche valeur differente de ""
        d = d + 1
        Worksheets("LUP").Cells(d, 1).Select
    Loop
    
    ligne_D = d
    
    'Worksheets("Feuil1").Range("A1").Value = d  'Essai si ca marche

End Sub

Cordialement,


A voir également:

8 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
30 oct. 2023 à 17:30

Re,

Fichier modifie sans rechercher:  https://www.cjoint.com/c/MJEqEmGbaog

1
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
31 oct. 2023 à 08:52

Bonjour,

merci beaucoup f894009. Cela fonctionne bien et correspond aux attentes.

Le bout de code est très simple mais je n'aurais pas pensé à le mettre à cet endroit.

Je garde sous le coude le code pour la taille de fenêtre (et je regarderais le fonctionnement sous Excel-Malin). 

Je clos la discussion.

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié le 26 oct. 2023 à 07:33

Bonjour,

2 cerveaux valent mieux qu'1.

Certes,certes, mais un fichier exemple vaut mieux que rien

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
 

0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
Modifié le 26 oct. 2023 à 13:09

Bonjour f894009,

je comprends qu'un fichier exemple est beaucoup plus parlant. Mais je ne connaissais pas de site de pièce jointe.

Voici le lien pour le Fichier Exemple .( https://www.cjoint.com/c/MJAleWiXDKN )

Cordialement,

Inconnu404


0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié le 27 oct. 2023 à 09:32

Bonjour,

Je regarde la chose

Pourquoi voulez vous voir la premiere ligne vide?

Suite:

Public Sub UserForm1_Initialize()  'initialisation de la fenetre

Ca, ca ne l'fait pas. Par contre:

Public Sub UserForm_Initialize()  'initialisation de la fenetre

Ca oui..

0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
27 oct. 2023 à 09:33

Bonjour,

Merci d'avance.

Il s'agit de faciliter le remplissage. Si ma dernière ligne pleine du tableau est à la ligne 347, cela serait très embêtant de rester cliquer sur le bouton ascenseur jusqu'à la ligne 348.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié le 27 oct. 2023 à 10:02

Re,

Au plus simple, ald d'ecire a la fin, faite une insertion de ligne au debut

Cote controls, les combobox, le nom c'est Cb ou CmB_kakechose mais pas List...

Ca prete a confusion si vous avez des listbox

TextBox: Txt_...

Pour info, la premiere cellule vide d'une colonne:

ligne = Worksheets("LUP").Range("A" & Rows.Count).End(xlUp).Row + 1

Pas besoin de boucle qui allonge le temps d'execution

A quoi servent reelement les SpinButton

Suite1:

AdapterTailleFormAEcran!!

chez moi j'ai la moitie de la hauteur de l'UF

0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
Modifié le 27 oct. 2023 à 11:03

Re,

En effet, la formule est beaucoup plus simple. Je me suis compliqué la vie.

Pour les contrôles, j'ai juste renommé pour me faciliter la création et les conditions de ma fenêtre.

Et AdapterTailleFormAEcran, oui ce n'est pas beau, c'est lourd et ca ne marche pas souvent. Mais dès que je "touche" au Userform, la taille de fenêtre diminue de plus en plus.

S'il existe un moyen de figer cette taille de fenêtre, je suis preneur.

Suite

Le Spinbutton sert à naviguer dans le tableau et permet de modifier directement la ligne sans tout retaper.

L'insertion peut être une solution mais les dernières lignes représentent les dernières informations.

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié le 27 oct. 2023 à 11:18

Re,

S'il existe un moyen de figer cette taille de fenêtre, je suis preneur.

Oui, vous voulez que la taille s'adapte a l'ecran suivant la resolution et la taille de l'ecran?

Le Spinbutton sert à naviguer dans le tableau

Ok, vos savez a l'avance la ou les lignes a modifier?

Quand vous aurez 500 lignes ca le fera comment si la ligne est a 250?

0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
27 oct. 2023 à 11:21

Re,

Oui, vous voulez que la taille s'adapte a l'ecran suivant la resolution de l'ecran?

Oui c'est le but recherché.

Ok, vos savez a l'avance la ou les lignes a modifier?

Quand vous aurez 500 lignes ca le fera comment si la ligne est a 250?

Quand ce sera le cas, soit on utilisera le Spinbutton, soit on modifiera directement dans le tableau.

Reste que la priorité est que ce soit la première ligne vide qui s'affiche à l'ouverture de la fenêtre.

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
27 oct. 2023 à 12:04

Re,

 on modifiera directement

Votre Formulaire ne sert a rien si vous raisonnez ainsi

ligne vide qui s'affiche à l'ouverture de la fenêtre.

De quelle fenetre parlez vous, celle du classeur ou le formulaire?

0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
27 oct. 2023 à 12:50

Re,

"Le formulaire ne sert a rien" Peut etre, Peut etre pas mais c'est ce que l'on m'a demandé.

Et je parle de la fenêtre du formulaire (le UserForm).

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
Modifié le 27 oct. 2023 à 17:31

Re,

je repose cette question:

Ok, vous savez a l'avance la ou les lignes a modifier?

et par quel critere?

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
29 oct. 2023 à 09:13

Bonjour,

fenêtre du formulaire (le UserForm).

J'ai du code pour Userformpeil ercan mais pas avec des dimensions donnees

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
29 oct. 2023 à 10:17

Suite:

"Nb de km parcourus" en label et Box_NbDefaut pour la combobox!

Ceci pour plusieurs cas 

Pourquoi cette difference entre ces noms d'objets qui en plus n'ont rien a voir entre eux?

0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
30 oct. 2023 à 08:40

Bonjour,

En effet, par souci de confidentialité, j'ai modifié les noms de la fenêtre du formulaire mais pas ceux des combobox.

Pour la modification de ligne, la personne qui fait la modification connait le numéro de ligne ou la retrouve suivant le nom donné.

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702 > Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023
30 oct. 2023 à 11:28

Bonjour,

J'ai avance sur votre fichier. Selection derniere ligne a l'ouverture UF, spinbutton ok montee/descente et autres

connait le numéro de ligne

Parce qu'il les memorise tous meme si ce n'est pas lui qui a saisi la ligne!

Il serait tres interessant de faire une recherche par numero de ligne ou nom a partir de l'UF pluto( Disney) que de faire les modifs directe sur la feuille.

Mais c'est vous qui voyez...

Vous faites de la saisie a l'unite ou par lot?

0
Inconnu404 Messages postés 24 Date d'inscription lundi 12 octobre 2020 Statut Membre Dernière intervention 31 octobre 2023 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
30 oct. 2023 à 11:42

Re,

La saisie se fait à l'unité. Donc pas besoin de faire du compliqué.

Je laisse le choix pour les modifs (UF ou direct sur feuille) car certains voudront passer par l' UF et d'autres en direct sur la feuille. L'avantage de l' UF reste les cellules obligatoires pour que les indicateurs fonctionnent bien (Autre fichier).

Je suis intéressé de voir le code pour la sélection de la dernière ligne à l'ouverture de l' UF. :)

0