test cellule 5 colonne active...

  • Initiateur de la discussion Initiateur de la discussion ya_v_ka
  • Date de début Date de début

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 !

Y

ya_v_ka

Guest
salut tout le monde...
et oui y'en a qui rigolent, mais je suis encore coincé...
je cherche à faire un test en VBA du genre:

If colonneactive.celluleligne5 = X then
msgbox "pas de ca Lisette !"
else:
moncodenormal...

mais j'y arrive pas.... alors une fois encore je m'en remets à vous

merci d'avance ;-)

ya'v
 
Bonjour,

Essaye le test suivant :

If Cells(5,ActiveCell.Column).Value=X then
msgbox "pas de ca Lisette !"
else:
moncodenormal...

Il faut au préalable sélectionner une cellule dans la colonne désirée.

Bon courage.
 
Bonsoir Ya_v_ka, bonsoir le forum,

Ce que je te propose risque de ne pas te convenir car je n'ai pas bien compris ta requête. Les codes ci-dessous font la chose suivante:
Si, dans n'importe quelle colonne de la ligne 5, tu cherches à modifier une cellule dans laquelle il est écrit "X", un message t'en empêche...'
Si il y a autre chose que "X" dans la cellule ou si tu te trouves sur une autre ligne que la ligne 5 il n'y a pas de message et ton code moncodenormal suis son cours... Est-ce ça ?

Si oui, copie les lignes ci-dessous dans le composant VBA correspondant à la feuille dans laquelle tu voudrais qu'elles agissent [Feuil1(Feuil1)] par exemple. Pour cela, copie les lignes de code puis clique avec le bouton droit sur l'onglet de la feuille dans ton classeur et choisis l'option [Visualiser le code] et colle les lignes. [Alt]+[F11] pour revenir à Excel...

début du code
Private valeur As Variant 'déclare la variable valeur

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'à chaque changement de sélection
If Target.Row = 5 Then 'si cellule dans ligne 5
valeur = Target.Value 'définit la variable valeur (contenu de la cellule)
End If 'fin condition
End Sub

Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque modification d'une cellule
If valeur = "X" Then 'si le contenu avant modification (valeur) était = à X
Target.Select 'sélectionne la cellule (remonte car la touche [Entrée] a fait descendre)
Target.Value = "X" 'réécrit "X" dans la cellule (au lieu de la valeur modifiée)
MsgBox ("Pas de ça Lisette!") 'message
Target.Offset(1, 0).Select 'descend d'une ligne
Target.Select 'remonte d'une ligne (pour actualiser la variable valeur)
Exit Sub 'sort de la procédure
Else 'sinon
'moncodenormal
End If 'fin de la condition
End Sub
fin du code

À plus,

Robert
 
Re Ya_v_ka, le forum, bonsoir Pierre,

J'avais pas réactualisé... J'arrive après la "bataille"... C'est parce que j'ai le cerveau lent et qu'il y a du vent...

Hé bien mDF, on ne fait plus profiter les copains ? C'est dommage car tes plans sont toujours excellents...

À plus,

Robert
 
en fait la réponse était:

If Cells(5,ActiveCell.Column)="X" then
msgbox "pas de ca Lisette !"
else:
moncodenormal... ' qui me rajoute un colonne entière, sans risque de toucher au colonnes marquées d'un "X", qui sont celles des dates à gauche et des résultats à droite... et comme en rajoutant des colonnes, celle des résultats change de position...il me fallait juste un test simple !

Merci à tous en tous cas...
ya'v
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
876
Réponses
3
Affichages
1 K
Réponses
1
Affichages
2 K
Réponses
10
Affichages
2 K
Retour