Problème code
Hyana
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
un ami m'a crée un code VBA pour excel. Celui ci marche bien sur sa version d'Excel (2007) mais pas sur la mienne (2016). Et nous ne trouvons pas pourquoi ...
En fait j'ai 2 cases, une case taux de sélection et une case nombre de mâles. Mon souhait est que lorsque je tape un chiffre dans taux de sélection le chiffre associé apparaisse dans nombre de mâles et inversement lorsque je tape un chiffre dans nombre de mâles le chiffre associé apparaisse dans taux de sélection.
Voici le code proposé :
un ami m'a crée un code VBA pour excel. Celui ci marche bien sur sa version d'Excel (2007) mais pas sur la mienne (2016). Et nous ne trouvons pas pourquoi ...
En fait j'ai 2 cases, une case taux de sélection et une case nombre de mâles. Mon souhait est que lorsque je tape un chiffre dans taux de sélection le chiffre associé apparaisse dans nombre de mâles et inversement lorsque je tape un chiffre dans nombre de mâles le chiffre associé apparaisse dans taux de sélection.
Voici le code proposé :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("C4")) Is Nothing Then For i = 11 To 21 If Target.Value = Cells(i, 4).Value Then Cells(4, 6).Value = Cells(i, 5).Value Exit For End If Next i End If If Not Application.Intersect(Target, Range("F4")) Is Nothing Then For i = 11 To 21 If Target.Value = Range("E" & i).Value Then Range("C4").Value = Range("D" & i).Value End If Next i End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("C4")) Is Nothing Then For i = 11 To 21 If Target.Value = Range("D" & i).Value Then Range("F4").Value = Range("E" & i).Value Exit For End If Next i End If If Not Application.Intersect(Target, Range("F4")) Is Nothing Then For i = 11 To 21 If Target.Value = Range("E" & i).Value Then Range("C4").Value = Range("D" & i).Value End If Next i End If End Sub
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Problème code
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
1 réponse
Bonjour,
Quand tu dis que ça ne fonctionne pas... c'est à dire ...?
Il y a un message d'erreur ??
Sinon... peux tu essayer d'executer ce code en mode pas à pas pour voir ce qui s'y passe et également jetter un oeil à tes variables (voir les valeurs qu'elles ont...).
Regarde ici : https://www.commentcamarche.net/contents/1381-debogage
ou ici https://silkyroad.developpez.com/VBA/DebuterMacros/#LII-C-4
Il te faudra placer un point d'arrêt dans ta macro :
https://silkyroad.developpez.com/VBA/DebuterMacros/#LII-B-3-d
Cordialement,
Jordane
Quand tu dis que ça ne fonctionne pas... c'est à dire ...?
Il y a un message d'erreur ??
Sinon... peux tu essayer d'executer ce code en mode pas à pas pour voir ce qui s'y passe et également jetter un oeil à tes variables (voir les valeurs qu'elles ont...).
Regarde ici : https://www.commentcamarche.net/contents/1381-debogage
ou ici https://silkyroad.developpez.com/VBA/DebuterMacros/#LII-C-4
Il te faudra placer un point d'arrêt dans ta macro :
https://silkyroad.developpez.com/VBA/DebuterMacros/#LII-B-3-d
Cordialement,
Jordane
If Not Application.Intersect(Target, Range("C4")) Is Nothing Then
Néanmoins, je en comprends pas pourquoi ...
Surprenant que chez vous cela marche avec 2007, car pas possible vous devriez avoir la meme erreur. Le probleme est que vous provoquer des appels sans fin des procedures quand vous modifiez/selectionnez les cellules C4 et/ou F4. Il faut bloquer les evenements excel