Une cellule est vide meme si elle contient un bouton ?

Résolu/Fermé
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 - 28 oct. 2015 à 16:25
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 - 29 oct. 2015 à 08:16
Bonjour,

J'aimerais faire une condition qui dirait :

Si la case D3 est differente de vide et si la case D4 est vide (ne contient pas déjà un bouton) alors créer un bouton.

Au début j'ai fais une condition de type
If cells(i, 4).Value <> " " And cells(i, 5).Value = " " then 
ActiveSheet.Buttons.Add(BLeft, BTop, BWidth, BHeight).Select


Mais cela ne fonctionne pas, j'ai donc essayé
If cells(i, 4).Value <> " " And IsEmpty(cells(i, 5)) then


J'ai aussi testé
If cells(i, 4).Value <> " " And IsEmpty(cells(i, 5)) = true then


J'ai l'impression que même s'il y a déjà un bouton il pense que la case est vide !
Comment pourrais-je remédier à ce problème ?

Merci de votre aide.
A voir également:

2 réponses

prunetyves Messages postés 17 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 4 juin 2020 2
28 oct. 2015 à 19:02
Hello,
C'est normal, un bouton n'est pas une données stockée dans une cellule mais un objet posé sur la feuille. donc tu ne peut pas tester la présence ou non d'un bouton par le test d'une valeur.

A+
2
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 7
29 oct. 2015 à 08:01
Merci pour votre réponse.

Il n'y a donc aucun moyen de faire un code qui prendrait en compte mon bouton ?
0
siamens_duj Messages postés 192 Date d'inscription vendredi 20 juin 2014 Statut Membre Dernière intervention 14 février 2019 7
Modifié par siamens_duj le 29/10/2015 à 08:29
Du coup, comme solution, dès que je construis un bouton je lui dis de mettre "ok" dans la cellule derriere le bouton comme ça pour lui la case est maintenant plus vide.

Mon code est donc :

Option Explicit

Private Sub CommandButton3_click()

i = 3

BLeft = 320
BTop = 50.75
BWidth = 72
BHeight = 24

Do While i < 900

If Cells(i, 4).Value <> "" And Cells(i, 5).Value = "" Then
Cells(i, 5).Value = "ok"
ActiveSheet.Buttons.Add(BLeft, BTop, BWidth, BHeight).Select
BTop = BTop + 26
i = i + 1
Else
MsgBox ("On est à la fin")
GoTo Fin:
End If

Loop
Fin:
End Sub


J'ai essayé avec le Exit Do comme conseillé plus haut mais cela me donne le même résultat.

Avec ce code, les boutons ne se créés pas quand il y a déjà un bouton.
Seul problème, quand je rajoute une ligne en fin de tableau il ne créé pas le dernier bouton et n'écrit pas non plus "ok". Sauriez vous pourquoi ?
0