VBA : variable au format nombre ou ...?

Excel-lent

XLDnaute Barbatruc
Bonsoir,

Comme vous l'avez peut-être vu dans mon précédent post, j'ai résolu mon problème, mais il ne s'agissait pas du bon problème :D

Dans la colonne A, j'ai parfois le numéro de la CheckBox, s'il est présent, dans ce cas, dans l'UserForm la CheckBox correspondante doit être coché.

Code:
Private Sub UserForm_Initialize()
  For i = 1 To 9
       Controls("CheckBoxSem" & [COLOR="Red"][B]Range("A" & i)[/B][/COLOR]).Value = True
  Next i
End Sub

J'ai l'impression que la valeur dans Range("A" & i) n'est pas prise en compte correctement.

Qu'en pensez-vous? Le soucis vient d'ailleur?

Merci d'avance pour le temps que vous passerez sur ma question.
 

Pièces jointes

  • CheckBox coché en fonction d'une cellule.zip
    19.2 KB · Affichages: 48

vbacrumble

XLDnaute Accro
Re : VBA : variable au format nombre ou ...?

Bonsoir



De cette manière je n'ai pas de message d'erreur.

(J'ai renommé les CheckBox pour tester)

(Message d'erreur sinon si cellule vide en colonne A)

Code:
Private Sub UserForm_Initialize()
Dim i
For i = 1 To 3
If Not IsEmpty(Range("A" & i)) Then
    Me.Controls("CheckBox" & Range("A" & i)).Value = True
    End If
Next i
End Sub

A+
 

kjin

XLDnaute Barbatruc
Re : VBA : variable au format nombre ou ...?

Bonsoir,
Une faiblesse Excellent ?! :D :)
Si les cellules en colonne A sont vides :eek:
Code:
Private Sub UserForm_Initialize()
  For i = 1 To 9
  If Range("A" & i) <> 0 Then Controls("CheckBoxSem" & Range("A" & i)).Value = True
  Next i
End Sub
A+
kjin
 

Excel-lent

XLDnaute Barbatruc
Re : VBA : variable au format nombre ou ...?

Bonsoir,

Un grand merci à vous deux. Vous m'avez confirmé que j'avais juste (oui car dans mon vrai fichier, je n'ai pas de ligne à zéro - donc le soucis ne pouvait provenir de là!), j'ai donc creusé ailleur, en effet le problème provenais d'ailleur : macro placé au mauvaise endroit!

Forcément, ça fonctionne moins bien!

kjin à dit:
Bonsoir,
Une faiblesse Excellent ?! :D :)

:)

Non juste lent à la détente! Normal pour une personne s'appel-lent : Excel-lent :)

Encore merci à vous deux.
 

Excel-lent

XLDnaute Barbatruc
Re : VBA : variable au format nombre ou ...?

Bonsoir Vbacrumble,

Ayant trouvé une solution, je n'avais pas regardé ni vu que mon ancien post avait eu une réponse supplémentaire! J'ai profité de ton message pour regarder et tester la solution de Soenda :

Code:
For i = 1 To 9
    Controls("CheckBoxSem" & i).Value = [COLOR="Red"][B]([/B][/COLOR]Range("A" & i) [COLOR="Red"][B]= 1)[/B][/COLOR]
next i

Je ne comprend pas ceci

Je l'ai testé dans la pièce jointe au post concerné pour voir comment elle se comporte, l'analyser, mais je n'arrive pas à la faire fonctionner! (je vais mettre cette remarque là-bas pour remercier Soenda et le prévenir - car ici je suis un peu hors sujet!)

Pour information, voici ci-dessous mon code final retenu :

Code:
'...
  For i = 3 To Range("A65536").End(xlUp).Row
     If Cells(i, 1) = Me.ComboBoxNP.Value Then
        [COLOR="Blue"]Controls("CheckBoxSem" & Range("B" & i)).Value = True[/COLOR]
     End If
  Next i
'...

Edition : pour ceux qui voudrait suivre et comprendre, suite et fin ici

Bonne fin de soirée
 
Dernière édition:

vbacrumble

XLDnaute Accro
Re : VBA : variable au format nombre ou ...?

Bonsoir


Pour comprendre

Code:
Private Sub UserForm_Click()
For i = 1 To 3
'Cellules A1 à A3 sont vides ou non vides
'Me.Controls("CheckBox" & i).Value = (Range("A" & i) <> "")

'si la valeur des cellules A1 à A3 est 1 ou vide
Me.Controls("CheckBox" & i).Value = (Range("A" & i) = 1)
Next i
End Sub

Pour finir de comprendre ;)

en B1; saisis: =(A1=1)
si A1=1 alors B1 renvoie VRAI

Capiche ?

A+
 

Excel-lent

XLDnaute Barbatruc
Re : VBA : variable au format nombre ou ...?

Salut VbaCrumble

vbacrumble à dit:
Pour finir de comprendre ;)
...

Capiche ?

Oui j'avais compris, j'ai posté la réponse à mes interrogations sur l'autre fil juste avant que tu post ta réponse ici :D
(heure de dépôt de mon post 23H24 ;) ici)

Mais c'est sympa quand même. Un grand merci pour tes explications et le temps que tu as passé à bosser sur mon problème.

Au plaisir de te croiser sur d'autres fils.

Bonne semaine
 

Discussions similaires

Réponses
6
Affichages
227
Réponses
1
Affichages
113
Réponses
3
Affichages
315
Réponses
3
Affichages
559

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260