Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

msgbox si condition

  • Initiateur de la discussion Initiateur de la discussion guevain
  • 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 !

G

guevain

Guest
bonjour a tous ,

je bloque sur un truc qui doit etre tout bete.....

j'ai une base de données avec un nombre de ligne variable , je souhaiterai que lorsque je clique dans une cellule

et que la valeur de la colonne "i"(valeur fixe) est égale a quelque chose de précis (texte trop long pour le forum)

un message box s'affiche.

j'ai trouve un truc avec une plage de cellule

'Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'If Not Intersect(Range("a173:i395,a11366:i11372"), Target) Is Nothing Then
'MsgBox "ATTENTION modification manuelle des plans dans la Base De Donnée"
'End If
'End Sub

mais comme mon tableau est variable , cela ne marche pas tout le temps

il doit y avoir quelque chose avec "ActiveCell.Row" , mais je bloque

merci d'avance pour vos reponse
 
Re : msgbox si condition

Bonjour,

Il faudrait que tu nommes tes plages.
Par exemple plage1 = a173:i395 et plage2 = a11366:i11372. Comme tes plages sont de taille variable, je te conseille d'utiliser une formule décaler. Cela donnerais

plage1 : =decaler(a173;;;nbval(a173:a5000);9) comme cela ça prendrait toutes les variable. Et pareil pour l'autre plage.

Du coup dans ta macro tu remplacerais les coordonnées par les noms de plage.
 
Re : msgbox si condition

bonjour supercrapaud

je ne comprend pas bien la fonction decaler

j'aurais preferer quelque chose du genre :

si le texte de la cellule "i" de la ligne active est égale a {texte} ; alors on declenche la msgbox

un code a mettre sur la feuille et pas comme une macro

merci
 
Re : msgbox si condition

Bonsoir,

Je n'ai pas compris ta remarque. Je reprends. Ta macro indique quand on change les plages qui t'intéresse alors un msgbox apparaît. Mais cela en marchait pas car tes plages de données étaient variables. Donc pour pallier cela, il faut nommer les plages de données avec une fonction DECALER qui prend en compte des plages variables.

OK donc tu peux passer par la validation des données avec des restrictions.

Tu sélectionnes la plage qui t'intéresse. Tu vas dans Données/Validation des données. Là, dans les critères "Autoriser" tu vas mettre "Personnalisés". dans la formule tu mets =EXACT(plage choisie;U12 => tu mettras dans cette cellule ce que tu ne veux pas qu'il y ait)
 
Re : msgbox si condition

re ,

en fait ce n'est pas quand on change de plage , mais quand on change de cellules.

en fait , dans la colonne "i" , j'ai des infos diverses , et sur quelques lignes (de 175 a 395 et de 11366 a 11372) , j'ai un texte particulier.

ce que je veux ,c'est que quand je clique sur une de ces lignes , la msgbox se declenche.

cela marchait avec le code que j'avais , le probleme c'est lors de l'insertion de ligne .

voila , j'espere etre plus clair , ce n'est pas toujours facile d'expliquer.

merci
 
Re : msgbox si condition

OK. tu aurais dû mettre un fichier pour que l'on voit ce dont tu as besoin.
Donc on retourne à la première version de ta macro. Tu as tout bon sauf qu'en fait ce sont les plages qui te posent problème puisqu'elles changent. Ce qui fait qu'avec des plages nommées et donc la fonction décaler, tu as juste à créer tes plages et mettre ces plages dans ta macro au lieu des cellules.

A toi de voir.
 
Re : msgbox si condition

bonjour a tous ,

j'ai trouvé une solution

je vous la mets , ca peux rendre service

##############################################################

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim ligne As Integer

ligne = ActiveCell.Row
If cells(ligne, 9) = "plan a modifier manuellement dans la BDD" Then

MsgBox "ATTENTION modification manuelle des plans dans la Base De Donnée"
End If

End Sub

#############################################################

voila , avec ca il suffit de modifier le N° de cellule et le texte rechercher afin de declenché l'evenement

directement coller dans le code de la feuille , c'est du bonheur

merci a toi supercrapaud , de t"etre penché sur mon probleme

a bientot , en esperant pouvoir rendre service a mon tour
 
- 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
3
Affichages
322
Réponses
13
Affichages
738
Réponses
14
Affichages
700
Réponses
7
Affichages
987
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…