Se connecter avec
S'enregistrer | Connectez-vous

conflit entre 2 macros

Dernière réponse : dans Programmation

Bonsoir,
Je sollicite votre aide car j'ai une erreur qui dépasse mes petites compétences.
J'ai fait trois macros, elles marchent lorsque l'une des trois n'est pas "activée" mais lorsque je réécrit les deux
j'obtiens un magnifique message d'erreur

" erreur définie par l'application ou par l'objet"
J'ai essayé tout ce que je savais.

Voici le code :
  1. '---------NUMEROTE AUTOMATIQUEMENT La cellule en colonne 10 lorsque celle en colonne 7 est modifiée-----------
  2. Private Sub Worksheet_selectionChange(ByVal Target As Range)
  3. Dim i As Long
  4. i = 1
  5. Do
  6. i = i + 1
  7. Cells(i, 10).Value = i
  8. Loop While Cells(i, 7).Value <> ""
  9. End Sub
  10.  
  11.  
  12. '---------VERROUILLE LES CELLULES dès qu'elles sont saisies-----------------
  13. Private Sub Worksheet_Change(ByVal Target As Range)
  14. ' NB : La protection est associée à un mot de passe : "toto"
  15. 'Suppression de la protection de la feuille
  16. ActiveSheet.Unprotect 'Password:="cea"
  17. 'Verrouillage de la cellule qui vient d'être modifiée
  18. ' (identifiée par la variable objet de type Range intitulée "Target")
  19. 'si la cellule ne contient rien alors on sort de la routine
  20. If Target.Value = "" Then Exit Sub
  21. Target.Locked = True
  22. 'Remise en place de la protection de la feuille
  23. ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'Password:="cea"
  24.  
  25. '--------AFFICHAGE DATE des que colonne 7 modifiée--------------
  26. If Target.Column = 7 Then
  27. Cells(Target.Row, 8).Value = Now
  28. End If
  29. End Sub


Le deboggeur me surligne la ligne 7.
J'ai essayé de la modifiée avec :
  1. cells(i,10).select et activecell.value=i


Mais ça n'a rien changé !

Je vous remercie pour vos réponses.

Autres pages sur : conflit macros

Lassé par la pub ? Créez un compte
Expert Programmation

Ben tu essaies d'écrire dans une cellule lockée. Comme elle est lockée, tu ne peux pas écrire dedans. [:spamafote]

(Et tu es gentil, surtout, tu ne me montre pas de code avec des Select/ActiveTruc, merci - Comprenne qui pourra ;)  )

En plus tu ne dois pas gérer SelectionChange car sinon ca va s'executer dès que tu sélectionnes une cellule.
Pour moi tout ce code doit s'exécuter dans le même evêrnement. Autre erreur importante :

  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. ActiveSheet.Unprotect 'Password:="cea"
  3. If Target.Value = "" Then Exit Sub
  4. Target.Locked = True

Tu dévérouilles avant même de tester la cellule ce devrait être inversé.
Lassé par la pub ? Créez un compte