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

ListView + Modif

  • Initiateur de la discussion Initiateur de la discussion Bruce68
  • Date de début Date de début

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 !

Bruce68

XLDnaute Impliqué
Bonsoir à tous

Avec ma ListView (UserForm1) je rcherche sur deux colonnes, avec la ComboBox je choisi le chiffre à exraire et sur la 2° collonne toutes les lignes correspondante au chiffre de ma comboBox.
Ce que je cherche à faire c'est en faisant un double clic sur 1 ligne (de la ListView) pouvoir mettre toutes les colonnes de ma base dans l 'UserForm2 et réussir à modifier Tous les TextBox et ComboBox et enregistrer les modifs dans ma base.

Pour le moment j'arrive à faire fonctionner la ListView mais pas l'appel de l'UserForm2 pour faire les modifs et enregistrer dans la base.

Comment faire pour que cela fonctionne, je vous remercie de votre aide
 

Pièces jointes

Re : ListView + Modif

Bonjour Kjin et le forum

Merci beaucoup pour la construction du code de modif, c'est bien ce que je voulais.
Ceci est seulement un exemple que je dois adapter et la ComboBox me sert à faire un choix dans ma modif ald de taper , tu me l'as enlever j'aimerai si possible que tu me la remettes (ce serai sympa de ta part ) pour voir le fonctionnement et aussi quelques explications dans la macro.
Je vais garder cet exemple dans mon fichier de macros donc j'aime bien avoir des explications pour pouvoir m'en servir plus tard et me rappeler son fonctionnement.
Merci encore pour toute ton aide.

bonne journée à tous
 
Re : ListView + Modif

bonsoir Kjin et le forum

Dans ma comboBox il y aura des noms, si par la suite je veux mettre des chiffres faudra t'il l'adapter? Car peut etre je la recupererai pour une autre application et là peut etre il peut y avoir des chiffres.
N'oublie pas si possible quelques explications dans les macros j'aime bien savoir comment elles fonctionnent.
Merci de ton aide et bonne soirée à tous
 
Dernière édition:
Re : ListView + Modif

Bonsoir Kjin et le forum

Merci pour le complément et les explications.
Je me pose une question: pourquoi initialiser les ComboBox car il etait possible de les initialiser par une liste avec nom définir + la fonction DECALER en cas d'agrandissement comme je l'avais fait sur mon 1° exemple cela fait 2 macros supplementaires je pense que tu as une bonne raison et j'aimerais bien la connaitre.
Une autre demande d'info: j'ai remarqué sur certaine macro ceci:£Ctrl cette £ à quoi cela sert' il ?
Je te remercie et bonne soirée à tous
 
Re : ListView + Modif

Je ne comprends pas ta question et je ne vois pas ce que veut dire des macros supplémentaires.
Je t'ai donné 2 exemples pour initialiser la combo du formulaire2, l'une par liste sans doublon contenue dans ton tableau, l'autre avec la liste de la colonne L, mais tu peux aussi évidemment utiliser une plage nommée (je n'avais pas vu ta liste).J'ai juste sorti la procédure d'initialisation de la combo pour pouvoir l'appeler si c'est nécessaire.
Une autre demande d'info: j'ai remarqué sur certaine macro ceci:£Ctrl cette £ à quoi cela sert' il ?
A rien de particulier que je sache
A+
kjin
 
Re : ListView + Modif

Bonjour Kjin et le forum
Dans un premier temps j'aimerais savoir à quoi servent les les Chiffres en () dans cette macro
Private Sub ListView1_DblClick()
'alim controles userform2 suivant N° ligne
With UserForm2
.TextBox1 = ListView1.SelectedItem
.TextBox2 = ListView1.SelectedItem.ListSubItems(1)
Ligne = CInt(ListView1.SelectedItem.ListSubItems(2).Text)
For i = 3 To 6
.Controls("Textbox" & i) = Sheets("base").Cells(Ligne, i)
Next
.ComboBox7 = Sheets("base").Cells(Ligne, 7)
.TextBox8 = Sheets("base").Cells(Ligne, 8)
End With
Me.Hide
UserForm2.Show
End Sub

Et 2° comment garder la Variable "Ligne" de l'userForm1 dans l'UserForm2 car quand j'adapte la macro à mon fichier , la variable Ligne est à 0 ou vide dans l'Usqerform2 et je ne peut enregistrer les modifs.
Private Sub CommandButton1_Click()
With Sheets("Base")
.Cells(ligne, 1) = TextBox1 'Ligne = Vide; TextBox1 = à la bonne valeur
.Cells(ligne, 2) = TextBox2 'Ligne = Vide; TextBox2 = à la bonne valeur

Merci pour l'aide.
 
Dernière édition:
Re : ListView + Modif

Bonsoir,
1° - se sont les numeros de colonne de la listview
2° - es tu allé voir le code dans le Module1, j'avais mis une annotation concernant la variable "Ligne" !
A+
kjin
 
Re : ListView + Modif

Bonsoir Kjin et le forum
Il me semblait bien que les N° corresponaient aux N° de colonne mais j'en etait pas sur
Pour la variable "Ligne" j'ai trouvè il y a quelques instants j'avais oublie de mettre la variable "Ligne" en Public dans Module 1.
J'ai autre petit probleme dans les onglets: je veux selectionner mes onglets à l'aide d'une ComboBox , avec la macro cidessous cela fonctionne à condition que l'onglet existe , je voudrais quand il n'existe pas un Message que celui ci n'existe pas et qu'il faut le creer.
Que faut il rajouter pour cela
Merci encore pour toute l'aide

Private Sub UserForm_Initialize()
IniCombo1
End Sub
Sub IniCombo1()
'alim combo1 sans doublon
With Sheets("base") '
Set Numeros = CreateObject("Scripting.Dictionary")
For Each n1 In .Range("B2:B" & .Range("B65000").End(xlUp).Row)
If Not Numeros.Exists(n1.Value) Then Numeros.Add n1.Value, n1.Value
Next
End With
ComboBox1.List = Numeros.items
ComboBox1 = ""
End Sub
Private Sub CommandButton1_Click()
Xonglet = ComboBox1
Sheets(Xonglet).Select
Unload Me
End Sub
 
Re : ListView + Modif

Bonsoir,
Code:
Private Sub CommandButton1_Click()
For i = 1 To Sheets.Count
    If Sheets(i).Name = ComboBox1 Then
        Sheets(ComboBox1.Text).Activate
        flag = True
        Exit For
    Else
        flag = False
    End If
Next
If flag = False Then MsgBox "la feuille n'existe pas"
Unload Me
End Sub
A+
kjin
 
Re : ListView + Modif

Bonsoir Kjin et le forum
Merci pour le bout de macro ça fonctionne correctement, mais j'ai oublié de preciser que mes feuilles sont masquées et là j'ai un probleme d'ouverture ce n'est pas la bonne feuille qui est ouverte c'est la derniere feuille visible .
Il faudrait que la feuille soit visible si elle existe .
Merci pour toute ton aide et bonne journée à tous
 
- 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
3
Affichages
295
Réponses
5
Affichages
749
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…