Afficher la dernière ligne pour l'ascenseur pour une fenêtre
RésoluInconnu404 Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
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,
- Afficher la dernière ligne pour l'ascenseur pour une fenêtre
- Supprimer dernière page word - Guide
- Partager photos en ligne - Guide
- Aller à la ligne excel - Guide
- Dernière version chrome - Accueil - Applications & Logiciels
- Mètre en ligne - Guide
8 réponses
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...
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
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..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionRe,
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
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.
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?
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.
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?
Re,
je repose cette question:
Ok, vous savez a l'avance la ou les lignes a modifier?
et par quel critere?
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?
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. :)
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.