Fonction vba pour selection de cellule et condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Angels3374

XLDnaute Nouveau
Bonjour à tous,

je me lance maintenant dans le vba, que je découvre et m'ouvre des nouvelles possibilités sous Excel (mieux vaut tard que jamais).

Mais qui dit commencement, dit grosse lacune.

Donc je souhaiterais mettre en place un codage qui m'interprête les données suivantes.

Par exemple, si la cellule A66 (qui contient une fonction pouvant soit laisser la cellule vide, soit la remplir d'un mot) est remplie, alors la zone de texte nommées au préalable "commentaires01" doit apparaitre, si la cellule A66 est vide alors la zone de commentaires n'apparait pas.

Mes essais vba donnent ceci, qui ne fonctionne pas évidement.

If ActiveSheet.Range("A66").Value = "" Then
Shapes("commentaires01").Visible = msoFalse
Else
Shapes("commentaires01").Visible = msoTrue
End If
End Sub


If ActiveSheet.Range("A75").Value = "" Then
Shapes("commentaires02").Visible = msoFalse
Else
Shapes("commentaires02").Visible = msoTrue
End If
End Sub

Je ne sais pas s'il faut un titre, une intro.....(vraient je débute 😀).

Et comment séparer les deux codes.
Je m'en remet donc à vous.
Merci par avance.

Angels.
 
Re : Fonction vba pour selection de cellule et condition

Bonjour Angels3374
Il manque le début de votre procédure
Code:
[COLOR="Red"]Sub toto()[/COLOR]
   If ActiveSheet.Range("A66").Value = "" Then
      Shapes("commentaires01").Visible = msoFalse
   Else
      Shapes("commentaires01").Visible = msoTrue
   End If
End Sub
(Vous pouvez évidemment l'appeler autrement que toto.)
Bon courage pour la suite...​
ROGER2327
 
Re : Fonction vba pour selection de cellule et condition

Bonjour Roger 2327,

merci pour la réponse, mais cela ne fonctionne toujours pas.
Lorsque ma cellule A66 est vide, la zone commentaire ne disparait pas.

Je poursuis mes recherches 🙂.

Angels
 
Re : Fonction vba pour selection de cellule et condition

Re...
La procédure fonctionne... ...à condition de l'exécuter.
Si vous voulez l'exécuter automatiquement, il faut écrire une procédure évènementielle associée à la feuille concernée. Genre
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$A$66" Then toto
End Sub
(N'oubliez pas les $.)​
ROGER2327
 
Re : Fonction vba pour selection de cellule et condition

Bonjour tous


Une variante de toto (avec l'emploi de IIF )
Code:
Sub toto()
ActiveSheet.Shapes("commentaires01").Visible= _
IIF(ActiveSheet.Range("A66")="",False,True)
End Sub

EDITION : merci pierrejean
(car n'ayant pas Excel sous la main, je n'avais pas testé )
 
Dernière édition:
Re : Fonction vba pour selection de cellule et condition

bonjour a tous

Avec Excel 9.0 (Office 2000)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Range("A66").Value = "" Then
[COLOR=blue]ActiveSheet[/COLOR].Shapes(("commentaires01").Visible = msoFalse
Else
[COLOR=blue]ActiveSheet[/COLOR].Shapes(("commentaires01").Visible = msoTrue
End If
End Sub
 
Re : Fonction vba pour selection de cellule et condition

Re à tous,

un énorme merci.
J'ai adopté le code de pierrejean (en enlevant la parenthèse de trop après activeSheet.Shapes). Il fonctionne parfaitement et je suis en train d'ajouter les autres conditions pour les lignes et commentaires suivants.

Encore merci à tous, vous avez participé à mes premiers pas en vba.

Angels.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour