VBA CheckBox en oui/non

H

HugoB99

Guest
Bonjour à tous,

Je reviens vers vous car j'aimerai changer les "vrai/faux" de mes CheckBox en "oui/non".
Est-ce possible ?

Le fichier n'a pas changé, voici le code :

VB:
Option Explicit
Dim Ws As Worksheet
'Pour le formulaire
Private Sub UserForm_Initialize()
  Dim J As Long
  'Pour la liste déroulante ClientProspect
  ComboBox1.List() = Array("Client", "Prospect")
  Set Ws = Sheets("BASE") 'Correspond au nom de l'onglet dans le fichier Excel
  For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
    Me.ComboBox0.AddItem Ws.Range("A" & J)
  Next J
End Sub

'Pour la liste déroulante Code client
Private Sub ComboBox0_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim Ligne As Long, I As Integer
  If Me.ComboBox0.ListIndex = -1 Then Exit Sub
  Set Ws = Sheets("BASE") 'Correspond au nom de l'onglet dans le fichier Excel
  Ligne = Me.ComboBox0.ListIndex + 2
  ComboBox0 = Ws.Cells(Ligne, 1)
  affdonnees (Ligne)
' Me.TextBox1.Value = Ws.Cells(Ligne, 2)
'  For I = 2 To 29
'    Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 3)
'  Next I
End Sub

'Pour le bouton Nouveau contact
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") <> vbYes Then Exit Sub
L = Sheets("BASE").Range("A" & Rows.Count).End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
enreg (L)
End Sub
'Pour le bouton Modifier
Private Sub CommandButton2_Click()
  Dim Ligne As Long, I As Integer
If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") <> vbYes Then Exit Sub
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox0.ListIndex + 2
enreg (Ligne)
' Ws.Cells(Ligne, 1) = ComboBox0.Value
' For I = 1 To 29
'   Ws.Cells(Ligne, I + 1) = Me.Controls("TextBox" & I)
' Next I
End Sub

'Pour le bouton Quitter
Private Sub CommandButton3_Click()
   Unload Me
End Sub

Sub enreg(L)
Range("A" & L).Value = ComboBox0.Value 'Pour NumClient
Range("B" & L).Value = TextBox1.Value 'Pour Date d'entree fichier
Range("C" & L).Value = ComboBox1.Value 'Pour ClientProspect
Range("D" & L).Value = TextBox5.Value 'Pour Agence
Range("E" & L).Value = TextBox2.Value 'Pour Nom de la societe
Range("F" & L).Value = TextBox3.Value 'Pour SIREN
Range("G" & L).Value = TextBox4.Value 'Pour Ville
Range("H" & L).Value = TextBox6.Value 'Pour SiteWeb
Range("I" & L).Value = TextBox7.Value 'Pour Incubateur
Range("J" & L).Value = TextBox8.Value 'Pour Nom du dirigeant
Range("K" & L).Value = TextBox9.Value 'Pour Prenom
Range("L" & L).Value = TextBox10.Value 'Pour Tel
Range("M" & L).Value = TextBox11.Value 'Pour Mail
Range("N" & L).Value = CheckBox1.Value 'Pour Amorcage
Range("O" & L).Value = CheckBox2.Value 'Pour le POC valide
Range("P" & L).Value = CheckBox3.Value 'Pour la SerieA
Range("Q" & L).Value = CheckBox4.Value 'Pour la SérieB
Range("R" & L).Value = CheckBox5.Value 'Pour le fort developpement
Range("S" & L).Value = CheckBox6.Value 'Pour Innovetplus
Range("T" & L).Value = TextBox13.Value 'Pour Avis innovation
Range("U" & L).Value = TextBox14.Value 'Pour Avis fusacq
Range("V" & L).Value = TextBox16.Value 'Pour Reco du reseau
Range("W" & L).Value = TextBox17.Value 'Pour Reco pramex
Range("X" & L).Value = TextBox18.Value 'Pour Reco flux
Range("Y" & L).Value = TextBox19.Value 'Pour JPM
Range("Z" & L).Value = TextBox20.Value 'Pour IF
Range("AA" & L).Value = TextBox21.Value 'Pour Accenture
Range("AB" & L).Value = TextBox22.Value 'Pour Clipperton
Range("AC" & L).Value = TextBox23.Value 'Pour Finovam
Range("AD" & L).Value = TextBox24.Value 'Pour BPI
Range("AE" & L).Value = TextBox25.Value 'Pour NFA
Range("AF" & L).Value = TextBox26.Value 'Pour Finovam
Range("AG" & L).Value = TextBox27.Value 'Pour IRD
Range("AH" & L).Value = TextBox28.Value 'Pour Finorpa
Range("AI" & L).Value = TextBox29.Value 'Pour BAngels
Range("AJ" & L).Value = TextBox15.Value 'Pour Date de relance
Range("AK" & L).Value = TextBox12.Value 'Pour Commentaire
Dim J As Long
Me.ComboBox1.Clear
Set Ws = Sheets("BASE") 'Correspond au nom de l'onglet dans le fichier Excel
Me.ComboBox0.Clear
For J = 2 To Ws.Range("C" & Rows.Count).End(xlUp).Row
   Me.ComboBox0.AddItem Ws.Range("A" & J)
Next J
  For J = 1 To 29
    Me.Controls("TextBox" & J) = ""
  Next
  For J = 1 To 6
  Me.Controls("CheckBox" & J) = False
  Next
  Me.ComboBox0.ListIndex = -1

End Sub

Sub affdonnees(L)
Me.ComboBox0.Value = Range("A" & L).Value  'Pour NumClient
Me.TextBox1.Value = Range("B" & L).Value  'Pour Date d'entree fichier
Me.ComboBox1.Value = Range("C" & L).Value  'Pour ClientProspect
Me.TextBox5.Value = Range("D" & L).Value  'Pour Agence
Me.TextBox2.Value = Range("E" & L).Value  'Pour Nom de la societe
Me.TextBox3.Value = Range("F" & L).Value  'Pour SIREN
Me.TextBox4.Value = Range("G" & L).Value  'Pour Ville
Me.TextBox6.Value = Range("H" & L).Value  'Pour SiteWeb
Me.TextBox7.Value = Range("I" & L).Value  'Pour Incubateur
Me.TextBox8.Value = Range("J" & L).Value  'Pour Nom du dirigeant
Me.TextBox9.Value = Range("K" & L).Value  'Pour Prenom
Me.TextBox10.Value = Range("L" & L).Value  'Pour Tel
Me.TextBox11.Value = Range("M" & L).Value  'Pour Mail
Me.CheckBox1.Value = Range("N" & L).Value  'Pour Amorcage
Me.CheckBox2.Value = Range("O" & L).Value  'Pour le POC valide
Me.CheckBox3.Value = Range("P" & L).Value  'Pour la SerieA
Me.CheckBox4.Value = Range("Q" & L).Value  'Pour la SérieB
Me.CheckBox5.Value = Range("R" & L).Value  'Pour le fort developpement
Me.CheckBox6.Value = Range("S" & L).Value  'Pour Innovetplus
Me.TextBox13.Value = Range("T" & L).Value  'Pour Avis innovation
Me.TextBox14.Value = Range("U" & L).Value  'Pour Avis fusacq
Me.TextBox16.Value = Range("V" & L).Value  'Pour Reco du reseau
Me.TextBox17.Value = Range("W" & L).Value  'Pour Reco pramex
Me.TextBox18.Value = Range("X" & L).Value  'Pour Reco flux
Me.TextBox19.Value = Range("Y" & L).Value  'Pour JPM
Me.TextBox20.Value = Range("Z" & L).Value  'Pour IF
Me.TextBox21.Value = Range("AA" & L).Value  'Pour Accenture
Me.TextBox22.Value = Range("AB" & L).Value  'Pour Clipperton
Me.TextBox23.Value = Range("AC" & L).Value  'Pour Finovam
Me.TextBox24.Value = Range("AD" & L).Value  'Pour BPI
Me.TextBox25.Value = Range("AE" & L).Value  'Pour NFA
Me.TextBox26.Value = Range("AF" & L).Value  'Pour Finovam
Me.TextBox27.Value = Range("AG" & L).Value  'Pour IRD
Me.TextBox28.Value = Range("AH" & L).Value  'Pour Finorpa
Me.TextBox29.Value = Range("AI" & L).Value  'Pour BAngels
Me.TextBox15.Value = Range("AJ" & L).Value 'Pour Date de relance
Me.TextBox12.Value = Range("AK" & L).Value  'Pour Commentaire

End Sub

J'ai eu beau lire des articles et tenter d'intégrer des bouts de codes par-ci par-là, glanés sur XLD mais rien a faire, je coince.
Quelqu'un saurait il comment arriver à mes fins ?

Merci d'avance,

HB99
 
H

HugoB99

Guest
Je dois être a coté de mes pompes …

VB:
Sub affdonnees(L)
Dim bb As String

If CheckBox1 = True Then
bb = "oui"
Else: bb = "non"
End If
Range("N & L") = bb
If CheckBox2 = True Then
bb = "oui"
Else: bb = "non"
End If
Range("O & L") = bb
If CheckBox3 = True Then
bb = "oui"
Else: bb = "non"
End If
Range("P & L") = bb
If CheckBox4 = True Then
bb = "oui"
Else: bb = "non"
End If
Range("Q & L") = bb
If CheckBox5 = True Then
bb = "oui"
Else: bb = "non"
End If
Range("N & L") = bb
If CheckBox6 = True Then
bb = "oui"
Else: bb = "non"
End If
Range("O & L") = bb

 Me.ComboBox0.Value = Range("A" & L).Value  'Pour NumClient
 Me.TextBox1.Value = Range("B" & L).Value  'Pour Date d'entree fichier
 Me.ComboBox1.Value = Range("C" & L).Value  'Pour ClientProspect
 Me.TextBox5.Value = Range("D" & L).Value  'Pour Agence
 Me.TextBox2.Value = Range("E" & L).Value  'Pour Nom de la societe
 Me.TextBox3.Value = Range("F" & L).Value  'Pour SIREN
 Me.TextBox4.Value = Range("G" & L).Value  'Pour Ville
 Me.TextBox6.Value = Range("H" & L).Value  'Pour SiteWeb
 Me.TextBox7.Value = Range("I" & L).Value  'Pour Incubateur
 Me.TextBox8.Value = Range("J" & L).Value  'Pour Nom du dirigeant
 Me.TextBox9.Value = Range("K" & L).Value  'Pour Prenom
 Me.TextBox10.Value = Range("L" & L).Value  'Pour Tel
 Me.TextBox11.Value = Range("M" & L).Value  'Pour Mail
 Me.TextBox13.Value = Range("T" & L).Value  'Pour Avis innovation
 Me.TextBox14.Value = Range("U" & L).Value  'Pour Avis fusacq
 Me.TextBox16.Value = Range("V" & L).Value  'Pour Reco du reseau
 Me.TextBox17.Value = Range("W" & L).Value  'Pour Reco pramex
 Me.TextBox18.Value = Range("X" & L).Value  'Pour Reco flux
 Me.TextBox19.Value = Range("Y" & L).Value  'Pour JPM
 Me.TextBox20.Value = Range("Z" & L).Value  'Pour IF
 Me.TextBox21.Value = Range("AA" & L).Value  'Pour Accenture
 Me.TextBox22.Value = Range("AB" & L).Value  'Pour Clipperton
 Me.TextBox23.Value = Range("AC" & L).Value  'Pour Finovam
 Me.TextBox24.Value = Range("AD" & L).Value  'Pour BPI
 Me.TextBox25.Value = Range("AE" & L).Value  'Pour NFA
 Me.TextBox26.Value = Range("AF" & L).Value  'Pour Finovam
 Me.TextBox27.Value = Range("AG" & L).Value  'Pour IRD
 Me.TextBox28.Value = Range("AH" & L).Value  'Pour Finorpa
 Me.TextBox29.Value = Range("AI" & L).Value  'Pour BAngels
 Me.TextBox15.Value = Range("AJ" & L).Value 'Pour Date de relance
 Me.TextBox12.Value = Range("AK" & L).Value  'Pour Commentaire

End Sub

J'ai une erreur sur les lignes de range
 
H

HugoB99

Guest
Toujours pas…

VB:
Dim ba, bb, bc, bd, be, bf As String

If CheckBox1 = True Then
ba = "oui"
Else: ba = "non"
End If
Range("N & L") = ba
If CheckBox2 = True Then
bb = "oui"
Else: bb = "non"
End If
Range("O & L") = bb
If CheckBox3 = True Then
bc = "oui"
Else: bc = "non"
End If
Range("P & L") = bc
If CheckBox4 = True Then
bd = "oui"
Else: bd = "non"
End If
Range("Q & L") = bd
If CheckBox5 = True Then
be = "oui"
Else: be = "non"
End If
Range("R & L") = be
If CheckBox6 = True Then
bf = "oui"
Else: bf = "non"
End If
Range("S & L") = bf

Le debog me met "la méthode range de l'objet global a échoué"
 

Dranreb

XLDnaute Barbatruc
Bonjour.
En lecture :
VB:
CheckBox1.Value = Range("N" & L).Value = "Oui"
En écriture :
VB:
Range("N" & L).Value = IIf(CheckBox1.Value, "Oui", "Non")
Remarque: je n'aime pas travailler avec des séries de cellules comme ça. Je préfère passer par un tableau dynamique d'une ligne. C'est beaucoup plus rapide.
 

Statistiques des forums

Discussions
312 103
Messages
2 085 323
Membres
102 862
dernier inscrit
Emma35400