Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

modification d'une ligne dans une list box

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

phileasdav

XLDnaute Junior
Bonjour a tous ;

Je fais encore appel a vos talents pour ce probleme;
j'ai une list box dans une userform dans laquelle quand je double clique sur une des lignes celle ci ouvre une autre userform qui affiche les valeurs de celle ci , jusque là tout va bien!!!
Là ou ça se gate😡; c'est que je souhaite par un bouton que j'ai appelé "modif ok" modifié les valeurs de cette ligne . et là il me recrée une autre ligne alors que je veux seulement modifier la ligne existante !!ci dessous le code.😕
précision : ce code est dans l'userform 1 alors que la liste box est dans l'userform 2


merci d'avance

Private Sub modif_ok_Click()

'déclaration des variables
Dim donnee As Range
Dim i As Double ' i est la derniere ligne
Dim k As Date ' k est la date du jour
Dim ligneaconsulter As Long
Dim lst_personnes As ListBox ' lst_personnes est la list box de l'USF 2

ActiveSheet.Unprotect Password:="a"
Application.ScreenUpdating = False

If Sheets("Tableau").Range("a6").Value = "" Then
i = 1
Else
i = Sheets("Tableau").Range("a6").End(xlDown).Row
End If

ligneaconsulter = Sheets("Tableau").Range(Range("a6"), Range("a6").End(xlDown)) _
.Find(lst_personnes.Value).Row

' donne a k la valeur de la cellule g4 : date
k = Sheets("tableau").Range("f4").Value

'charge dans le tableau les données saisies dans l'USF
'permet de donner un numéro de ligne
With Sheets("Tableau")

.Range("a" & ligneaconsulter).Value = Sheets("tableau").Range("a" & ligneaconsulter).Value
.Range("b" & ligneaconsulter).Value = k
.Range("c" & ligneaconsulter).Value = cbx_faction.Value

.Range("e" & ligneaconsulter).Value = cbx_trigramme.Value

.Range("g" & ligneaconsulter).Value = cbx_localisation_service.Value
.Range("h" & ligneaconsulter).Value = cbx_localisation_machine.Value
.Range("i" & ligneaconsulter).Value = cbx_localisation_secteur.Value
.Range("j" & ligneaconsulter).Value = cbx_type_intervention.Value
.Range("k" & ligneaconsulter).Value = cbx_intervention_catégorie.Value
.Range("l" & ligneaconsulter).Value = txt_lien

.Range("n" & ligneaconsulter).Value = txt_description.Value
.Range("o" & ligneaconsulter).Value = cbx_nom_assignation.Value
.Range("q" & ligneaconsulter).Value = cbx_nom_correction.Value

.Range("s" & ligneaconsulter).Value = txt_description_correction
.Range("t" & ligneaconsulter).Value = cbx_nom_validation
.Range("v" & ligneaconsulter).Value = cbx_nom_cloture

End With

If cbx_nom_assignation <> "" Then
Sheets("Tableau").Range("p" & ligneaconsulter).Value = k
End If
If cbx_nom_correction <> "" Then
Sheets("Tableau").Range("r" & ligneaconsulter).Value = k
End If
If cbx_nom_validation <> "" Then
Sheets("Tableau").Range("u" & ligneaconsulter).Value = k
End If
If cbx_nom_cloture <> "" Then
Sheets("Tableau").Range("w" & ligneaconsulter).Value = k
End If
Application.ScreenUpdating = True
ActiveSheet.Protect Password:="a"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
Unload Me
End Sub
 
Re : modification d'une ligne dans une list box

merci mais meme en remplaçant ton code par celui ci , ça ne marche pas !😡

UserForm2.lst_personnes.List(i) = "Tableau!a6:x" & i

apparemment; la procédure ne reconnait pas la liste box.
 
Re : modification d'une ligne dans une list box

Salut phileasdav
Bonjour le fil
Bonjour le Forum

arff sans fichier , il n'est pas évident de traiter ta demande de façon optimum
quelque lignes .....
Merci d'avance

Bonne journée
 
Re : modification d'une ligne dans une list box

Re, et salut ChTi,

merci mais meme en remplaçant ton code par celui ci , ça ne marche pas !😡

UserForm2.lst_personnes.List(i) = "Tableau!a6:x" & i

apparemment; la procédure ne reconnait pas la liste box.

Avec votre formule, pour i = 10 par exemple, vous voulez inscrire en 10ème position dans la ListBox le texte : "Tableau!a6:x10", c'est bien ça que vous voulez ?

Il faut évidemment que l'UserForm2 ait été chargé et seulement masqué (par Hide). Surtout pas déchargé par Unload...

A+
 
Re : modification d'une ligne dans une list box

Bonjour le fil,

Retirer quelques données ou un peu plus si necessaire, il n'y a pas besoin de tout et le Zipper surtout.

Clic droit sur ton fichier dans l'explorateur Windows et Envoyer vers/Dossier compressé... c'est celui-là que tu envoies.

Bon après-midi.

Jean-Pierre
 
Re : modification d'une ligne dans une list box

Bonjour le forum 🙂,
Pour faire transiter des données d'un USF à l'autre, une possibilité est de déclarer des variables en Public et de les utiliser dans les 2 USF.
Bonne journée 😎
 
Re : modification d'une ligne dans une list box

ah j'oubliais le mode opératoires;

1- cliquez sur le bouton
2- double cliquez sur un ligne
3- modifiez la ligne ( et c'est là que ça fonctionne pas comme je souhaiterai!!)
 
Re : modification d'une ligne dans une list box

Bonjour tout le monde,

Fais les modifications suivantes:

1- cré un module dans lequel tu y mets juste ceci:
Code:
Public ligneaconsulter As Long

2- dans le code Private Sub modif_ok_Click() du userform1:
supprime ceci:
Code:
[FONT=Arial]If Sheets("Tableau").Range("a6").Value = "" Then[/FONT]
[FONT=Arial]i = 1[/FONT]
[FONT=Arial]Else[/FONT]
[FONT=Arial]i = Sheets("Tableau").Range("a6").End(xlDown).Row[/FONT]
[FONT=Arial]End If[/FONT]
Plus:
a- supprime la ligne
Code:
Dim ligneaconsulter As Long
b- supprime la ligne
Code:
Dim i As Double ' i est la derniere ligne
c- remplace la variable "i" par ligneaconsulter partoût dans le code

3- dans le code Private Sub lst_personnes_DblClick(ByVal Cancel As MSForms.ReturnBoolean) du userform2:
supprime la ligne
Code:
Dim ligneaconsulter As Long

Car quoi que tu fasses dans l'userform de saisie, cela allait modifier systématiquement la dernière ligne "i"…
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
178
Réponses
5
Affichages
241
Réponses
8
Affichages
233
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
10
Affichages
281
Réponses
2
Affichages
153
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…