Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Conditionner une zone de texte sur une plage

7 réponses
Avatar
NewsMic
Bonjour,

Quelle est la meilleure solution pour dire en langage Excel :
SI dans la plage A1:A10 je trouve la valeur 1, j'affiche une zone de texte
dans la cellule B1 ?

Si une zone de texte n'est pas possible, comment conditionner cet affichage
de texte ?

Merci,

NewsMic

7 réponses

Avatar
JPMonnier
Bonjour,
Essaie cette proc
Sub a()
x = 0
For Each n In [a1:j10]
If n = 1 Then
x = x + 1
[b2] = x & " Chif 1"
End If
Next
End Sub
Pour la zone de texte, elle ne serait pas forcément attaché à la cellule B2

--
Cordialement

"NewsMic" a écrit dans le message de
news:48ecd02e$0$921$
Bonjour,

Quelle est la meilleure solution pour dire en langage Excel :
SI dans la plage A1:A10 je trouve la valeur 1, j'affiche une zone de texte
dans la cellule B1 ?

Si une zone de texte n'est pas possible, comment conditionner cet
affichage de texte ?

Merci,

NewsMic





Avatar
FdeCourt
Salut,

Tu veux afficher une Zone de texte, ou un texte dans ta cellule B1.
S'il s'agit juste d'un texte, alors la formule suivante suffirait :

=SI(NB.SI(A1:A24;1)>0;"Y A"; "Y A PAS")

Sinon, il faut je pense passer par VBA

Sub Macro1()
With ActiveSheet.Shapes("Text Box 3")
If Application.WorksheetFunction.CountIf(Range("A1:A10"), 1) > 0
Then
.Visible = True
Else
.Visible = False
End If
End If

End Sub

Bon courage

Cordialement,

F.
Avatar
garnote
Bonjour,

Cette formule te convient-elle ?

=SI(NB.SI(A1:A10;1)>=1;"Message";"")


Serge


"NewsMic" a écrit dans le message de news: 48ecd02e$0$921$
Bonjour,

Quelle est la meilleure solution pour dire en langage Excel :
SI dans la plage A1:A10 je trouve la valeur 1, j'affiche une zone de texte dans la cellule B1 ?

Si une zone de texte n'est pas possible, comment conditionner cet affichage de texte ?

Merci,

NewsMic





Avatar
NewsMic
Merci pour vos réponses rapides.
Je dois passer par VBA. J'ai 2 questions :
J'ai créé la zone de texte evc le texte. Est ce que je dois la nommer ("Text
Box 3"). Si oui, comment ?
Je pense qu'ensuite, il faut associer la zone de texte à la macro. Faut'il
obligatoirement exécuter la macro pour tester la condition ?
Parce que je souhaiterais, comme avec la formule, que le résultat s'affiche
automatiquement.

Merci
NewsMic

"FdeCourt" a écrit dans le message de news:

Salut,

Tu veux afficher une Zone de texte, ou un texte dans ta cellule B1.
S'il s'agit juste d'un texte, alors la formule suivante suffirait :

=SI(NB.SI(A1:A24;1)>0;"Y A"; "Y A PAS")

Sinon, il faut je pense passer par VBA

Sub Macro1()
With ActiveSheet.Shapes("Text Box 3")
If Application.WorksheetFunction.CountIf(Range("A1:A10"), 1) > 0
Then
.Visible = True
Else
.Visible = False
End If
End If

End Sub

Bon courage

Cordialement,

F.



Avatar
FdeCourt
Salut,

Par macro, le nom de la Terxtbox était arbitraire.
Tu peux nommer ta texte box comme tu veux, mais il faut alors changer
le code

Pour renommer ta Textbox, sélectionnes la puis lance cette macro, en
remplacant le XXX par ce que tu veux :

Sub ChangeNom
Selection.Name = "XXX"
End Sub

Ensuite pour afficher ou non ta texte box, et pour que cela soit
autmatique, il ne faut pas la mettre dans un module standard, mais
dans le module de ta feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet.Shapes("XXX")
If Application.WorksheetFunction.CountIf(Range("A1:A10"), 1) >
0 Then
.Visible = True
Else
.Visible = False
End If
End With
End Sub

Bonne soirée

F.
Avatar
NewsMic
C'est bon. Ca marche (juste une petite erreur dans le code : end with)
Cdlt
NewsMic
"NewsMic" a écrit dans le message de news:
48ece064$0$875$
Merci pour vos réponses rapides.
Je dois passer par VBA. J'ai 2 questions :
J'ai créé la zone de texte evc le texte. Est ce que je dois la nommer
("Text Box 3"). Si oui, comment ?
Je pense qu'ensuite, il faut associer la zone de texte à la macro. Faut'il
obligatoirement exécuter la macro pour tester la condition ?
Parce que je souhaiterais, comme avec la formule, que le résultat
s'affiche automatiquement.

Merci
NewsMic

"FdeCourt" a écrit dans le message de news:

Salut,

Tu veux afficher une Zone de texte, ou un texte dans ta cellule B1.
S'il s'agit juste d'un texte, alors la formule suivante suffirait :

=SI(NB.SI(A1:A24;1)>0;"Y A"; "Y A PAS")

Sinon, il faut je pense passer par VBA

Sub Macro1()
With ActiveSheet.Shapes("Text Box 3")
If Application.WorksheetFunction.CountIf(Range("A1:A10"), 1) > 0
Then
.Visible = True
Else
.Visible = False
End If
End If

End Sub

Bon courage

Cordialement,

F.








Avatar
FdeCourt
Salut,

Il faut faire attention, parfois lorsque tu recopies du code des
newsgroups, les lignes sontcoupées. Il faut alors les remettre
correctement (dans le cas d'aujourd'hui, le "0 Then " ne doit pas être
sur la même ligne que "If
Application.WorksheetFunction.CountIf(Range("A1:A10"), 1) > " alors
qu'il devrait.....

Cordialement,

F.