Comparer 2 cellules de feuilles différentes(excel) etf aire apparaitre un UserFo

Résolu
PhilDk Messages postés 20 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 18 août 2014 - 10 sept. 2008 à 12:26
PhilDk Messages postés 20 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 18 août 2014 - 10 sept. 2008 à 16:00
Bonjour à Tous,

J'ai crée un userform afin d'informer les utilisateurs qu'il y a une anomalie entre le base de données et les statistiques. Je voudrais que celui ci apparait quand les totaux ne sont pas cohérent.
Voici le code utilisé, ou se trouve l'erreur????

Private Sub UserForm_Click()

' Faire apparaitre la Form si uniquement déséquilibre entre la cellule P28 dans StatNavire et la cellule T1501 dans Base
Sheets("StatNavire").Select
Range("p28").Select
If cellactive.Value <> totalmoves.Value Then
DefEquil.Visible
Else
Unload Me


End Sub

Excusez moi, les supers codeurs mais j'essaye d'apprendre sur le tas et le tard aussi d'ailleurs.

Bien à Vous.
Phil.

11 réponses

pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
10 sept. 2008 à 15:00
tu peux passer par l'élément change de la feuille "StatNavire"<title>Change, événement</title>
Private Sub Worksheet_Change(ByVal Target as Range)

If Range("p28").Value <> totalmoves.Value Then
DefEquil.show

End Sub


[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
3
PhilDk Messages postés 20 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 18 août 2014
10 sept. 2008 à 16:00
Merci pour vos réponses qui sont certainement excellentes, mais j'ai essayé les deux formules et cela ne marche pas. Je suis vraiment pas très doué. Je vais en formation a partir de la semaine prochaine( ce qui n'est pas du luxe) je prendrai mon fichier avec. Pour connaitre mes erreurs de syntaxe.
Je vous remercie pour votre précieuse aide.
Phil.
3
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
10 sept. 2008 à 13:53
bonjour
déja ce n'est pas "cellactive" mais "activecell"
de plus
tu peux avantageusement remplacer tes trois lignes
        Sheets("StatNavire").Select

        Range("p28").Select

        If cellactive.Value <> totalmoves.Value Then

par  une seule
        If Sheets("StatNavire").Range("p28").Value <> totalmoves.Value Then

ce qui revient exactement au même mais dans un gros code c'est plus élégant et plus lisible

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
PhilDk Messages postés 20 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 18 août 2014
10 sept. 2008 à 14:05
Merci pour la réponse, je l'ai testé en déséquilibrant les cellules et je ne vois pas mon userform apparaitre. Par contre merci pour ces bons conseils concernant la structure de mes formules.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PhilDk Messages postés 20 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 18 août 2014
10 sept. 2008 à 14:11
Est ce que l'erreur ne peut pas pas venir du debut du code??? Car en fait Userform je l'ai nommé DefEquil, et je ne dois pas le cliquer car ce n'est pas un bouton.
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
10 sept. 2008 à 14:20
avec la partie de code que tu as montré je ne peux pas te répondre sue la non apparition du userform
puisque ce bout de code est dans l'évenement click celui ci
il serait plus judicieux de mettre ce code dans l'évènement click d'un bouton  soit directement dans la feuille soit dans un userform

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
10 sept. 2008 à 14:22
je n'avais pas vu ton dernier post donc ma réponse fait un peu doublon
tu fais comment pour appeler ta userform ?

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 sept. 2008 à 14:22
Salut,

Tu as mis le code dans l'événement Clcik du Userform.... pour exécuter ce code, il faut donc que le UserForm soit DEJA visible et ENABLED

@+: Ju£i€n
Pensez: Réponse acceptée
0
PhilDk Messages postés 20 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 18 août 2014
10 sept. 2008 à 14:37
Merci Pile_Poil et Julien,
Mon problème est vraiment la je ne sais pas comment faire pour l'appeler, je voudrais que le fait que mes cellules ne soit pas identiques fasse apparaître l'userform en tant que message d'erreur, car celui ci comporte 2 boutons pour accéder à des solutions.
Est ce possible sans ajouter de bouton dans une feuille???
Phil
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 sept. 2008 à 15:04
Re,

Evénement disponible dans le code de ThisWorkBook

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

   'Comme tel cela s'exécutera à chaque changement sur TOUTES Les feuille
   'il te faudra peu etre filter suivant le nom de la feuille (SH) et l'adresse
   'de la cellule (target) Modifiée
   If Worksheets("StatNavire").Range("P28").Value <> TotalMoves.Value Then
       Call Load(DefEquil)
       Call DefEquil.Show(vbModal)
   End If
End Sub , ----
[../code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 sept. 2008 à 15:05
Re,
Oups me suis doubler le temps de tester....

Sorry pour le doublon (même si l'idée reste la même)

@+: Ju£i€n
Pensez: Réponse acceptée
0
Rejoignez-nous