Incrémentation de userform et Sauvegarde des saisies sur listbox

Bonsoir,

Je me permets de solliciter votre aide, car, Je suis en train de faire une base de donnée avec un formulaire d'ajout activé par le bouton 1. Sur la colonne F, un double click permet l'apparition d'un autre formulaire nommé suivi d'intervention.

1) Est-ce possible de commencer sur double click, l'ouverture du formulaire de suivi d'intervention uniquement dans la colonne F du tableau 1 (de F6 jusqu'à la fin de la colonne) ?

2) Est-il possible d'attribuer un formulaire suivi d'intervention à une ligne, et avoir autant de formulaire propre à sa ligne ?

3) Dans le formulaire suivi d'intervention, la listebox disparait à chaque réouverture. Est-il possible que la listebox reste enregistrée à chaque ré-ouverture de celle-ci ?

Pouvez-vous m'aider à résoudre mes problèmes énumérés ci-dessus ?

19list.xlsm (73.56 Ko)

bonjour Jacko

Peut être pas tout compris ce que tu voulais

pour le point 1 tu veux que le dblclic ne fonctionne que sur la colonne F et que pour les ligne ou il y a des datas ?

ceci devrait répondre à ta question en limitant ton range

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'dim variable pour derniere ligne du tableau
Dim derligbut As Long
'derniere ligne ou il existe une valeur en colonne C (colonne de la clé de l'enregistrement)
derligbut = Sheets("Feuil1").Cells(Application.Rows.Count, "C").End(xlUp).Row
Cancel = False
    'limite le range de F5 à Fderniere ligne
    If Not Intersect(Target, Range("F5:F" & derligbut)) Is Nothing And Inter.Visible = False Then
        Inter.Show
    End If
Cancel = True
End Sub

pour le point 2 ?? si tu veux une ouverture de formulaire sur une ligne plutôt que sur une colonne tu indique un range sur une ligne

pour le point 3 tu veux un item par défautt dans ta listebox à chaque ouverture ?

dans ce cas dans le code de ton UserForm tu ajoute

Private Sub UserForm_Activate()
Cbx_NatInter.ListIndex = 0
End Sub

(0 = curative et 1 = préventive)

PAPYG

Bonjour PAPYG,

Merci mille fois pour ton aide au niveau des point 1 et 2.

pour le point 3, Dans le formulaire suivi d'intervention, c'est de générer comme un journal de suivi sur la listbox, qui sera alimenté au fil du temps tout en conservant l'historique par les différents champs (combobox et text).

Bonsoir Jacko

dans ce cas il ne faut pas fermer l'UserForm entre 2 appel mais le masquer soit avec un bouton spécifique soit par exemple en modifiant le code de ton bouton 'Ajouter' comme ceci

Private Sub AjoutInter_Click()
Dim Fichier As Variant

 With Me.List_Intervention
        .AddItem
        .List(memoire, 0) = Me.Txt_date
        .List(memoire, 1) = Me.Cbx_NatInter
        .List(memoire, 2) = Me.Txt_Intervention
        .List(memoire, 3) = Fichier
 End With

        memoire = memoire + 1
        Me.Hide

End Sub

cela correspond t il à ta demande ?

image

PAPYG

Bonsoir PAPYG,

Merci pour la solution, elle correspond partiellement, mais à chaque ouverture du formulaire, peut-on dissocié les informations de chaque matériels ?

Exemple : lorsque j'effectue une modification sur l'appareil N°32, je double-clic sur sa colonne suivi pour ouvrir le userform suivi d'intervention, ensuite, j'ajoute chaque action faite sur l'appareil, qui sera tout le temps conservé pour cet appareil.

lorsque j'effectue une modification sur l'appareil N°4, je double-clic aussi sur sa colonne suivi pour ouvrir le userform suivi d'intervention, ensuite, j'ajoute une action différente au autres appareils, qui sera également tout le temps conservé pour cet appareil.

Je suis désolé de vous embêter avec ça, étant donné ma faible connaissance dans le VBA, n'hésitez pas à me dire si c'est infaisable. ou bien si, il y a une autre solution, je suis preneur.

14list.xlsm (72.20 Ko)

Bonsoir Jacko

oui j'ai compris

c'est tout a fait possible il faut simplement un tableau dans lequel tu sauvegarde chaque intervention avec le num d'appareil

(dans ton code tu ne sauvegarde que la dernière intervention et sans le num d'appareil)

et a chaque appel de l'userForm tu liste les interventions existantes pour l'appareil num32 par exemple

je regarde pour te proposer un exemple

a bientôt

PAPYG

bonjour Jacko

quelques modif sur

Private Sub Worksheet_BeforeDoubleClick

et

Private Sub AjoutInter_Click

mes ajout sont commentés

les lignes obsolètes sont mise en rem

j'ai ajouté sur l'UserForm Inter un champ masqué TxtCle

35interventions.xlsm (72.29 Ko)

a tester

PAPYG

Bonsoir PAPYG,

Honnêtement, merci beaucoup du coup main.

tu m'as beaucoup aidé.

Je vais continuer à essayer de l'améliorer.

Rechercher des sujets similaires à "incrementation userform sauvegarde saisies listbox"