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

Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014
- - Dernière réponse : 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.
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de pile_poil
Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PhilDk
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
0
Merci
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
Commenter la réponse de pile_poil
Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014
0
Merci
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.
Commenter la réponse de PhilDk
Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014
0
Merci
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.
Commenter la réponse de PhilDk
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
0
Merci
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
Commenter la réponse de pile_poil
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
0
Merci
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
Commenter la réponse de pile_poil
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
46
0
Merci
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
Commenter la réponse de jrivet
Messages postés
20
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
18 août 2014
0
Merci
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
Commenter la réponse de PhilDk
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
46
0
Merci
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
Commenter la réponse de jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
46
0
Merci
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
Commenter la réponse de jrivet