Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 22/01/2004, 14h51   #1 (permalink)
aurélie
Guest
 
Messages: n/a
Par défaut Boite de dialogue qui signale un dépassement de pourcentage

Bonjour tout le monde,

Je suis novice en ce qui concerne les macros...

J'ai une colonne qui calcule des pourcentages. A partir de cette colonne j'aimerais qu'une petit boîte de dialogue s'ouvre en me disant: "vous avez dépassé les 100%"
Je ne connais pas le langage VBA. Je suis sur Excel 5.0.
Je vous remercie d'avance.
 
ANNONCES
Vieux 22/01/2004, 16h49   #2 (permalink)
Moa
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Salut Aurélie !

Avec une macro évènementielle :

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value > 100 Then
MsgBox "PasGlopPasGlop"
End If
End Sub

A1 = Addition de ta colonne %

@ +

Moa
 
Vieux 22/01/2004, 17h02   #3 (permalink)
aurélie
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Merci beaucoup

Je suis vraiment pas douée. J'ai mis:

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("G21:G11512").Value > 100 Then
MsgBox "Ne doit pas dépasser 100%"
End If
End Sub

Et ca me marque qu'il y a une incompatibilité de type. Je ne comprends pas.

Merci encore.
 
Vieux 22/01/2004, 17h33   #4 (permalink)
chris
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Bonjour
Il me semble que le code de Moa est du VBA : pour autant que je me souvienne l'événementiel ne marchait pas en excel basic.

Allo Jean Marie ;-) qu'en dis-tu ?

Chris
 
Vieux 22/01/2004, 17h55   #5 (permalink)
aurélie
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

J'ai peut etre oublié de dire qqch d'important.
Ma colonne de pourcentage marche en cumulé. Donc je ne dois pas les additionner.

Désolé si c'était important

Merci à tout le monde pour votre aide.
 
Vieux 22/01/2004, 18h16   #6 (permalink)
j_li
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Il existe bien une méthode de l'objet Application qui pourrait se rapprocher de ça :

Elle se nomme "Application.QuandActivationFeuille"

Elle permet l'exécution d'une macro, dès que l'on active tout type de feuille dans un classeur contenant la macro.

De mémoire, elle se décompose ainsi :


Proc test()
Application.QuandActivationFeuille = nom_de_la_macro_a_executer
Fin Proc

Proc nom_de_la_macro_a_executer()

Si Plage("G21:G11512").Valeur> 100 Alors
Message "Ne doit pas dépasser 100%"
fin si

Fin Proc


Essaie sinon, dans Excel 5, l'aide en ligne, grâce aux nombreux exemples fournis.

Bonne chance,

j_Li
 
Vieux 23/01/2004, 11h30   #7 (permalink)
aurelie
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Re-bonjour et merci pour ces réponses

Proc test ()
J'ai essayé application.QuandActivationFeuille = essai2
Fin proc

Plus la macro essai2

Mais ca ne marche pas je ne sais pas si ca vient de moi mais j'ai fermé le classeur, je l'ai ouvert et après j'ai sais mes pourcentages et ca ne m'a rien fait meme lorsque j'ai dépassé les 100%

Voila
Merci encore
 
Vieux 23/01/2004, 11h49   #8 (permalink)
Moa
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Salut Aurélie !

Une petite question :

- Est-ce la somme de ta plage qui ne doit pas dépasser 100% ou les cellules prises individuellement ?

Car dans l'exemple que je t'ai donné, moi je faisais la somme de ta colonne en cellule A1, puis la macro, testait la cellule A1.

Car si tu mets : If Range("G21:G11512").Value > 100, ça ne veut rien dire !

Soit tu dois préciser If Sum de tant à tant, soit tu dois faire la vérif de chaque cellule avec For Each cell In de tant à tant....If cell bla bla...!

Essaie en mettant dans une cellule quelconque une formule et en testant ensuite cette cellule avec ta macro.

Et si cela fonctionne, tu pourras ensuite changer ta macro en utilisant If Sum..



@ +

Moa
 
Vieux 23/01/2004, 12h12   #9 (permalink)
aurelie
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage


Merci Moa

Alors va falloir etre patient, je suis désolée je crois ne pas avoir tout saisi (je débute)
Je ne veux pas avoir la somme de ma sélection mais seulement, un test sur chaque cellule qui me dit si cette cellule dépasse les 100%.

Donc si j'ai compris je dois faire un truc du genre

Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In ("F8:F28")
If cell ("F8:F28").value > 100 Then
MsgBox "Ne doit pas dépasser 100%"
End If
End Sub

est ce que je garde proc test () ???
Je ne crois pas l'avoir mis au bon endroit

Au fait mes cellules contiennent une formule qui calcule le pourcentage. Je sais pas si c important ou pas...
ca ne veut toujours pas marcher..
Encore Merci...
 
Vieux 26/01/2004, 13h15   #10 (permalink)
aurelie
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Salut Moa,

J'ai essayé de potasser un bout dessus
On a réussi à trouver qqch mais ca ne marche pas entièrement.
Dans un premier temps, voici ce que ca donne:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zone As Range
Set Zone = Intersect(Target, Range("A1:A10"))
If Zone Is Nothing Then Exit Sub
For Each Cellule In Zone
If (Cellule.Value > 1 Or Cellule.Value < 0) Then
Cellule.Font.ColorIndex = 3
Cellule.Font.Bold = True
Message = "La valeur de la cellule " & Cellule.Address(RowAbsolute:=False, ColumnAbsolute:=False) & " doit être compris entre 0 et 100." & Chr(13) & Chr(13) & "Veuillez saisir une valeur correcte."
titre = "Valeur incorrecte"
If IsNumeric(Cellule.Value) = True Then
Defaut = Cellule.Value * 100
Else
Defaut = ""
End If
Valeur = Defaut
While (Valeur < 0 Or Valeur > 100)
Valeur = InputBox(Message, titre, Defaut)
Wend
Cellule.Value = Valeur / 100
Cellule.Font.ColorIndex = 0
Cellule.Font.Bold = False
End If
Next

Mais le truc c que ca marche que si on tape une valeur directement dans une cellule de la zone. Alors que mes cellules de A1 à A10 contienne une division. A1 = b12/c12

Comment faire??


ps: je n'ai toujours rien compris à Proc test ()

Merci bcp de votre patience à tous et de votre aide
End Sub
 
Vieux 26/01/2004, 13h35   #11 (permalink)
Dan
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Bonjour Aurélie,

Quand je regarde ta réponse à 12:12 je me pose la question de savoir si tu ne serais pas intéressée par une simple mise en forme conditionnelle qui te ferait apparaitre une couleur si tu dépasses les 100 % ?

@+

Dan
 
Vieux 26/01/2004, 13h41   #12 (permalink)
aurelie
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Bonjour Dan,

J'ai voulu faire une mise en forme conditionnelle mais j'ai un pb car le classeur ne garde pas les formats (monétaires, inertion de commentaire et mise en forme conditionnelle). Je ne sais pas d'où ca peut venir. Du coup, je me suis rabattu sur les macros (alors que je ne suis pas douée question VBA).
Si tu sais à quoi peut etre du ceci....
J'accepte volontiers ton aide.
Merci beaucoup,

Aurélie
 
Vieux 26/01/2004, 23h24   #13 (permalink)
Dan
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Bonsoir Aurélie,

Je ne vois pas très bien pourquoi ton classeur ne parvient pas à garder les formats.

Est-il possible que tu places un fichier avec des données bidons de manière à ce que l'on puisse voir quel est le pb ?

dans l'attente de te lire

@+

Dan
 
Vieux 27/01/2004, 11h59   #14 (permalink)
aurelie
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Bonjour Dan,

Donc je t'envoie en PJ un fichier bidon. J'ai essayé de regrouper un peu ce qui ne fonctionnait pas.
J'ai mis les tarifs en format monétaire
J'ai mis un commentaire en rouge
J'ai fait une mise en forme conditionnelle sur les pourcentages: de 80% à 100% les chiffres sont italiques et vert.

Voila
Merci d'avance,
A bientôt
aurélie
Fichiers attachés
Type de fichier : zip miseenforme.zip (2,2 Ko, 0 affichages)
 
Vieux 27/01/2004, 13h17   #15 (permalink)
Dan
Guest
 
Messages: n/a
Par défaut Re: Boite de dialogue qui signale un dépassement de pourcentage

Bonjour,

Je pense que ton pb vient de version différente de Excel car :

1. Il n'y avait pas de format monétaire enregistré
2. L'indication de commentaire en rouge est visible
3. Les mise en forme cond. n'étaient pas présentes.

A noter que lors de l'enregistrement un message est apparu pour me dire que je devais enregistrer le fichier au format le plus récent sinon on perdait les formats. Ceci confirme ton pb.

Bref je t'ai refait un fichier que j'ai enregistré sous excel 97.
Vérifies si c'est OK.

Dans l'attente de te lire

@+

Dan
Fichiers attachés
Type de fichier : zip miseenforme-Aurelie-66974-V2.zip (15,1 Ko, 1 affichages)
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 03h34.


(C) 2006 Excel Downloads