VBA CheckBox en oui/non

HugoB99

XLDnaute Nouveau
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
 

Santulud

XLDnaute Occasionnel
Oui pour chaque Chechbox, remplace le code (par exemple pour la Checkbox1 :
VB:
Range("N" & L).Value = CheckBox1.Value

Par

VB:
Dim n as String
If CheckBox1 = True Then
n = "oui"
Else: n = "non"
End If
Range ("N & L") = n
 

HugoB99

XLDnaute Nouveau
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
 

HugoB99

XLDnaute Nouveau
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.
 

Discussions similaires

Statistiques des forums

Discussions
286 547
Messages
1 877 059
Membres
160 560
dernier inscrit
jesaispas
Haut Bas