Explications sur ma procédure et redondance

Bonsoir,

Habitué des heures indues, je souhaite activer plusieurs procédures en VBA sur ma feuille active.

Pouvez-vous m'éclairer sur les points ci-dessous :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("d2")) Is Nothing Then "Pourquoi utiliser if not ? Et application.Inter... renvoie à quoi ?"

Call Qualification " Ca, je sais, c'est ma procédure !"

End If

End Sub

Private Sub Worksheet_Change(ByVal Target As Range) "Là, ca se corse! ça me renvoie une erreur !"

If Not Application.Intersect(Target, Range("d3")) Is Nothing Then

Call NRBC " Là, c'est la deuxième procédure à appliquer !"

End If

End Sub

Cordialement,

Salut le forum

Tu ne peux pas utiliser deux fois l'évènementielle Private Sub Worksheet_Change sur la même feuille.

Un lien : Utilisation de la méthode Intersect

Ton Code

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Application.Intersect(Target, Range("d2")) Is Nothing Then
    Call Qualification
  End If
  If Not Application.Intersect(Target, Range("d3")) Is Nothing Then
    Call NRBC
End If
End Sub

Un coup de F1 sur les mots Application.Intersect en VBA

Intersect, méthode

Cette méthode renvoie un objet Range qui représente l'intersection rectangulaire de deux plages ou plus.

Mytå

merci Mytå pour ces explications.

En revanche, je n'arrive pas à automatiser 2 procédures d'affilée.

Toujours dans le même projet, s'il y a un changement en d2 et/ou en d3, je souhaiterais une application des 2 procédures qualification et NRBC.

Cette expression ne semble pas fonctionner :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("d2:d3")) Is Nothing Then

Call Qualification

Call NRBC

End If

End Sub

Merci,

Re le forum

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Application.Intersect(Target, Range("D2:D3")) Is Nothing Then
    Call Qualification
    Call NRBC
  End If
End Sub

Si le changement de valeurs des cellules D2:D3 provient d'une formule cela ne fonctionne pas.

Mytå

Bonsoir à tous,

Je reviens sur le devant du forum pour vous donner une version beta de mon probleme.

Un fichier joint est mieux que beaucoup d'explications; aussi :

Dans mon exemple, le nom en b2 de la feuille arnold! est mon origine.

En c2, une recherche verticale renseigne la case et n'a rien à renvoyer.

En d2, une recherche verticale renseigne la case et doit renvoyer en f3:i20 suivant la macro "qualification" des infos prises sur la feuille reference!

Enfin, en e2, une liste déroulante suivant le choix défini sur reference!b67:b73 devrait me permettre de renseigner la case et de renvoyer grace à la macro "NRBC" en g21 de ma feuille arnold! les infos prises sur reference!c68:e68 à c73:e73.

Je souhaiterais, pour terminer, automatiser les choix :

  • soit on ne fait rien, et tout se passe suivant b2 et e2,
  • soit on change b2, sans toucher à e2,
  • soit on ne touche pas à b2, mais e2 change.

Enfin, je ne voudrais pas abuser des bonnes âmes qui pourraient m'indiquer comment verrouiller cette page arnold! pour être le seul "autoriser" à effectuer des changements....

Je pense que tout cela est fastidieux...

Si vous avez du temps pour un pauvre hère...

Cordialement,

Désolé de relancer, mais j'aurais vraiment besoin de vos lumières...

Cordialement,

Rechercher des sujets similaires à "explications procedure redondance"