Problème de macros complémentaires...

JeanMikael

XLDnaute Junior
Re-re bonjour le forum

Tout à l'heure Excel-Lent m'a donné une macro pour me permettre de créer des liens entre les cellules automatiquement seulement voilà j'ai voulu intégrer son code dans mon fichiers de macros complémentaires et là sa marche que a moitié, ma macro doit faire une comparaison et donné les erreurs si elle en trouve, et une fois qu'il y a un erreur de trouvé la cellule dans laquelle il y a marqué erreur me renvoi a la cellule ou il y a l'erreur, alors la comparaison il n'y a pas de soucil mais c'est le lien entre les cellules qui ne fonctionnent pas alors que si je met directement le code dans la feuille que je veux analyser et non dans les macro complémentaires sa marche, voici le code :

Code:
Public Sub Worksheet_SelectionChange(ByVal Target As Range)
Call Comparaison
If Target.Column = 17 And Target.Row > 2 And Not IsEmpty(ActiveCell) Then
  If ActiveCell = "Avec Erreur" And ActiveCell.Offset(0, -6) = "N" Then
    ActiveCell.Offset(0, -6).Select
  Else
    ActiveCell.Offset(0, -7).Select
  End If
End If

End Sub

Merci d'avance pour votre aide

Cordialement,
Jean-Mikaël
 

Gorfael

XLDnaute Barbatruc
Re : Problème de macros complémentaires...

Salut JeanMikael et le forum

Tout à l'heure Excel-Lent m'a donné une macro pour me permettre de créer des liens entre les cellules automatiquement seulement voilà j'ai voulu intégrer son code dans mon fichiers de macros complémentaires et là sa marche que a moitié, ma macro doit faire une comparaison et donné les erreurs si elle en trouve, et une fois qu'il y a un erreur de trouvé la cellule dans laquelle il y a marqué erreur me renvoi a la cellule ou il y a l'erreur, alors la comparaison il n'y a pas de soucil mais c'est le lien entre les cellules qui ne fonctionnent pas alors que si je met directement le code dans la feuille que je veux analyser et non dans les macro complémentaires sa marche, voici le code :
D'après le code que tu fournis, tu utilises une macro à lancement automatique : elle ne peut être active que sur un module lié à une feuille (module de classe)
Quand tu change de sélection sur ta feuille, Excel met à jour Target avec la nouvelle sélection.
Si tu lances la macro manuellement, target est vide (=Nothing)

Public Sub Worksheet_SelectionChange(ByVal Target As Range)
Elle se lance nsuivant les restriction énoncées ci-dessus
Call Comparaison
effectuer la macro comparaison
If Target.Column = 17 And Target.Row > 2 And Not IsEmpty(ActiveCell) Then
si la nouvelle sélection débute en Q et à une ligne > 2 et que la cellule active n'est pas vide
tu sélectionnes R5 et tu poursuis ta sélection sur Q3 =>
Target : Q3:R5 et activecel=R5 => je te souhaites bien du plaisir
Plusieurs solutions possibles, dont un test (target.cells.count=1)
If ActiveCell = "Avec Erreur" And ActiveCell.Offset(0, -6) = "N" Then
ActiveCell.Offset(0, -6).Select
si target="Avec Erreur" et la colonne L contient "N", on sélectionne celle-ci
Else
ActiveCell.Offset(0, -7).Select
sinon, on sélectionne la cellule de la colonne K
End If
End If
End Sub
A+
 

Gorfael

XLDnaute Barbatruc
Re : Problème de macros complémentaires...

Bonjour Gorfael merci pour ta réponse clair et précise mais hélas meme avec un target.cells.count je n'ai toujours pas le lien dynamique je ne sais plus que faire :/
Salut
Pour qu'un évènement d'une feuille lance une macro, il faut qu'excel sache quelle macro lancer.

Sur changement de sélection, Excel ne teste que la présence de 2 macros pour les lancer :
Celle qui ne peut être que dans le module lié à la feuille et qui se nomme : Worksheet_SelectionChange
Celle qui se trouve dans le module ThisWorkBook lié au classeur et qui se nomme : Workbook_SheetSelectionChange
les macros qui ont le même nom, mais qui sont dans un autre module, même ceux de noms identiques mais qui sont dans un autre classeur ne sont pas concernées.
A+
 

Statistiques des forums

Discussions
312 248
Messages
2 086 593
Membres
103 248
dernier inscrit
Happycat