Besoin d'aide

Résolu
MACLOUFB - 14 janv. 2013 à 09:45
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 17 janv. 2013 à 16:20
Bonjour à toutes et à tous
Je suis débutant en VBA et ceci est mon premier message
Je travail avec EXCEL 2003
Ma question :
Sur un dossier excel "concours hippique"
en cellule Z4 se trouve le total des points
en cellule AB4 se trouve le temps par chrono
Quand je copie les résultats par mon USF cela me génère un classement automatique
Mon but est de lancer ma macro son wave "Son4"
a chaque changement du premier au classement

Merci pour votre aide
Cordialement
Francis

25 réponses

Mon USF s'ouvre avec :
Private Sub Lance_appli_click()
UserForm1.Show
End Sub


qui se trouve sur ma feuille
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 janv. 2013 à 21:48
Ok, et donc, tu peux maintenant relire ma réponse de mercredi 16 janvier 2013 à 13:32:26
Que de temps perdu ...
0
Bonjour,

Merci pour vos réponses.

Il n y a jamains de temps perdu car à la lecture de vos réponses j'ai appris beaucoup de choses.

Donc j'ai modifier ceci :
Private Sub Lance_appli_click()
UserForm1.Show vbModeless
End Sub


Mais j'avais au tout début de mon travail pris le soin de faire cela :
Showmodal = True
sur les propriétées de mon USF et sauf erreur de ma part ceci = cela
J'ai également créer une cellule "perdue" pour que A4=AW25

Et vérifier tout

Alors tout fonctionne à merveille dans mon programme
Mon seul pb est de remplacer "appel macro Son4" manuelement par un bouton de mon USF a savoir CommandButton11

Par un "appel macro Son4" automatique lorsque le nom du cavalier en A4 change (A4 etant la cellule du premier du classement

En réalité il faudrais cela :

Si le nom du cavalier en A4 change alors macro sinon rien

Voila et merciiiiiiii
0
Re bonjour,

Jai ce code sur ma feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$4" Then
   Application.EnableEvents = False
   Call Son4
   Application.EnableEvents = True
   End If
End Sub


Mon pb est le suivant :

Lorsque, par mon USF je fait "copier le résultat" il range les infos au bon endroit a savoir nom du cavalier en A4

Mais comme la cellule A4 passe de vide a "nom du cavalier", la macro se déclenche

Si je copie les résultats du cavalier suivant et qu'il passe premier donc en A4 la macro ne se déclenche plus

Si pour le cavalier suivant ses performances sont moins bonnes il est bien saisie en A5 et est donc 3ème

Voila mon pb

Merci de votre aide
0

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

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 janv. 2013 à 16:20
Je te le répète, Worksheet_Change se déclenche bien sur chaque changement, cellule vide ou pas vide.
Par contre, l'émission d'un son pouvant durer un certain temps, il est possible que le Application.EnableEvents = False vienne perturber le tout.
Quel est l'intérêt/besoin de cette technique ?

A noter :
Tu as modifié ta technique de détection de cellule.
Celle que tu utilises maintenant ne fonctionnera QUE lorsque la seule et unique cellule modifiée est A4. Si un changement intervient sur un Range de cellules comprenant A4, ton test ne sera pas positif.
L'ancienne syntaxe était surement plus performante (avec le Intersect).

Quand tu te poses ce genre de question existentielle, fais des tests toi même, exemple :
- Ouvre un nouveau classeur
- Mets le code suivant dans le Worksheet_Change :
    Dim oRange As Range
    Set oRange = Intersect(Target, Range("A4"))
    If oRange Is Nothing Then
        Debug.Print Time, "A4 n'est pas dans la sélection des cellules modifiées"
    Else
        Debug.Print Time, "A4 a été modifiée"
    End If
- Ouvre la fenêtre de debug (Ctrl-G) et surveille ce qui s'y écrit pendant que tu tapes des valeurs dans des cellules, y compris dans A4.
Tu verras que la détection fonctionne, cellule vide ou pas, que tu modifies uniquement la cellule A4 ou que tu fasses un copier-coller d'un groupe de cellules dont A4.

Il faut faire ce genre d'essai dans ton coin avant de poser des questions.
0
Rejoignez-nous