Bonjour,
Je suis désolée, mais je ne peux pas envoyer de fichier car meme en enlevant presque tout il reste trop gros. Je vais quand meme essayer d'expliquer ce que je fais :
jai defini des noms comme ceci :
taches :
=DECALER(data!$D$2:$D$2;;;NBVAL(data!$D:$D))
mes données se trouvent en D bien entendu.
puis, quand j'ai construit mon formulaire avec ma listbox, j'ai mis dans le rowsource : taches (sans toucher à une autre propriété..)
et voici mon code quand je veux ajouter une nouvelle tache :
Private Sub ajouter_Click()
'on active la feuille data
Sheets("data").Select
'demande le nom de la nouvelle tache
Question:
nom_tache = InputBox(Title:="Ajout d'une tache", prompt:="Saisissez la nouvelle tache")
If (nom_tache = "") Then
MsgBox "Vous allez quitter la fonction"
Exit Sub 'pour quitter les fonctions
End If
'on verifie qu'elle n'existe pas déjà
For Each C In ActiveSheet.Range("$D$3:$D$" & Cells(Cells.Rows.Count, 4).End(xlUp).Row)
If C.Value = UCase(nom_tache) Then
MsgBox "Cette tache existe déjà", vbExclamation: GoTo Question
End
End If
Next C
'ajout de la nouvelle tache dans la feuille "data" du classeur source
Call procedure.Ajouter(4, nom_tache) 'fonction qui ajoute en dernière position de la colonne D ici
'on se remet en A1 de la feuille data
Sheets("data").Select
Range("A1").Select
End Sub
est-ce dans cette fonction que je dois lui redonner son rowsource?
merci d'avance