XL 2010 Remplissage UserForm

Bruce68

XLDnaute Impliqué
Bonjour à tous
Je créé un userform pour remplir des fiches de généalogie et je voudrais à l'ouverture de l'userform cacher le label "Modification Fiche" ald de le cacher en cliquant sur création pour pouvoir supprimer le bouton cr&ation
Mon 2° problème est de remplir le même userform en cliquant sur 1 ligne de la listview du 2° userform et de cacher "création Fiche" en laissant apparaître "Modification Fiche".
Le remplissage de l'userform doit se faire avec toutes les données de la base
Je vous remercie de votre aide
 

Pièces jointes

  • Fiche Généalogique-M1.zip
    52.3 KB · Affichages: 40
Dernière édition:

Paf

XLDnaute Barbatruc
Bonjour Bruce68,

Pour le 2ème problème:
Dans la Userform2
VB:
Private Sub ListView1_DblClick()
Dim F As Worksheet, LigSelect As Long
Set F = Worksheets("Base")
    ' N° Ligne en enlevant le L devant le n° de la ligne
    LigSelect = Replace(ListView1.ListItems(ListView1.SelectedItem.Index).Key, "L", "")
   
    With UserForm1
    .TextBox1 = F.Cells(LigSelect, 3) ' cellule ligne colonne de la feuille Base
    .TextBox2 = F.Cells(LigSelect, 4)
    If F.Cells(LigSelect, 5) = "M" Then
        .CheckBox1.Value = True
    Else
        .CheckBox2.Value = True
    End If
    .TextBox15 = ...
    .TextBox4 =....
    ...
    .Label16.Visible = False '  Label16 invisible
    .CommandButton2.Visible = False
    .Show ' affiche l'USF 1
    End With
End Sub

Pour le 1er problème, pas tout compris

A+
 

Bruce68

XLDnaute Impliqué
Bonjour Bruce68,

Pour le 2ème problème:
Dans la Userform2
VB:
Private Sub ListView1_DblClick()
Dim F As Worksheet, LigSelect As Long
Set F = Worksheets("Base")
    ' N° Ligne en enlevant le L devant le n° de la ligne
    LigSelect = Replace(ListView1.ListItems(ListView1.SelectedItem.Index).Key, "L", "")
  
    With UserForm1
    .TextBox1 = F.Cells(LigSelect, 3) ' cellule ligne colonne de la feuille Base
    .TextBox2 = F.Cells(LigSelect, 4)
    If F.Cells(LigSelect, 5) = "M" Then
        .CheckBox1.Value = True
    Else
        .CheckBox2.Value = True
    End If
    .TextBox15 = ...
    .TextBox4 =....
    ...
    .Label16.Visible = False '  Label16 invisible
    .CommandButton2.Visible = False
    .Show ' affiche l'USF 1
    End With
End Sub

Pour le 1er problème, pas tout compris

A+
 

Bruce68

XLDnaute Impliqué
bonsoir Paf
Merci pour cette réponse
Malheureusement la macro ne fonctionne pas j'ai cette réponse:
Erreur de compilation
Sub, fonction ou property attendu
a partir de WithUserForm1 tout le texte est en rouge sauf 2 lignes
TextBox2 = F Cells(Lignselect........
CommandBouton2 ......

Merci de votre aide
 

Paf

XLDnaute Barbatruc
re,

J'ai oublié de préciser, entre With Userform1 et End with, le code n'est pas complet. Il n'y a que les premières affectations des valeurs de la feuille Base aux contrôles de userform1 à titre d'exemple .
Il faut donc poursuivre ces affectations à partir de Textbox15
.Textbox15(date de naissance) avec la cellule ligne LigSelect et colonne 6 (F) F.Cells(LigSelect, 6)
.Textbox4(lieu de naissance) avec la cellule ligne LigSelect et colonne 7 (G) F.Cells(LigSelect, 7)
etc....

Par ailleurs, pour le Sexe, il vaudrait mieux abandonner les Checkbox, au profit des OptionButton, ce qui permet d'éviter de pouvoir cocher à la fois M et F .

A+
 

Bruce68

XLDnaute Impliqué
re
En gardant ce que tu as fais et en supprimant le surplus non configurer la macro ne fonctionne toujours pas, toujours la meme réponse ,la macro s'arrête sur: Private Sub ListView1_DblClick().
Je joint le fichier avec le bout de macro ajouté.
Merci pour toute votre aide
 

Pièces jointes

  • Fiche Généalogique-M0.xlsm
    39 KB · Affichages: 59

Bruce68

XLDnaute Impliqué
Bonjour Dranreb et le forum

Merci de t'interesser à mon probleme
ou sont les code ascii 160 dans la macro qui pose probleme

Private Sub ListView1_DblClick()
Dim F As Worksheet, LigSelect As Long
Set F = Worksheets("Base")
LigSelect = Replace(ListView1.ListItems(ListView1.SelectedItem.Index).Key, "L", "")

With UserForm1
.TextBox1 = F.Cells(LigSelect, 3) ' cellule ligne colonne de la feuille Base
.TextBox2 = F.Cells(LigSelect, 4)


.Label16.Visible = False ' Label16 invisible
.CommandButton2.Visible = False
.Show ' affiche l'USF 1
End With
End Sub

Merci pour toute votre aide
 

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 203
Membres
102 818
dernier inscrit
NeoMaint