Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche de données dans une zone de noms

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Aimedjie

XLDnaute Occasionnel
Bonjour,

J'aimerais savoir comment on peut définir une recherche VBA dans une zone de nom qu'on a préalablement définie.

Par exemple, dans le menu Insertion\Nom\Définir, j'ai défini la zone suivante que j'ai nommé, de manière très originale, "Zone" :

Zone='Feuil1'!$R$17:$R$57;'Feuil1'!$W$17:$W$57;'Feuil1'!$AB$17:$AB$57;'Feuil1'!$AG$17:$AG$57;'Feuil1'!$AL$17:$AL$57;'Feuil1'!$AQ$17:$AQ$57

Je voudrais que ma macro commence en validant si je suis dans cette zone du genre If target isnot dans la zone then exit sub

J'ai essayé la fonction suivante : If target <> zone then exit sub, mais cette précédure compare uniquement la première cellule de la zone et tout arrête.

Merci
 
Re : Recherche de données dans une zone de noms

Bonsoir Aimedjie,

tu peux essayer ce code, j'ai mis des msgbox pour contrôler

Code:
Sub Macro1()
Set gruick = Application.Intersect(ActiveCell, Range("Zone"))
If gruick Is Nothing Then
  MsgBox "que dalle !": Exit Sub
Else
  MsgBox "ouais !"
End If
End Sub

A plus,
Gruick
 
Re : Recherche de données dans une zone de noms

Merci beaucoup!

Mais je crois que je me suis mal exprimé, quoique la macro de Gruick semble être dans la bonne voie.

Au fond, je veux que si ma cellule modifiée est dans une ligne définie par la "Zone" et que s'il y a une donnée dans la zone, je veux qu'il s'inscrive "S/O" trois colonnes avant la cellule de la zone.

J'ai fait une macro, mais le temps de réaction n'est pas instantané comme je le voudrais puisque la macro fait le tour de toute les cellules de la "Zone".

Public Function inscrireTaux(ByVal Target As Range)

Dim cellZone As Range

'Cette macro s'applique à toute les cellules de la zone nommée "Zone".
For Each cellZone In Range("Zone")

'La macro ne s'applique que sur les lignes modifiées avec une information inscrite dans la "Zone".
If cellZone.Row = Target.Row And _
cellZone.Value <> "" Then

'S'il s'agit le chiffre 99999 est inscrit dans la colonne "A" et qu'il y a une information inscrite dans la cellule de la "Zone", il faut inscrire "S/O" dans la
'troisième colonne précédent la cellule de la "Zone".
If Cells(cellZone.Row, _
Range("A1").Column).Value = 99999 And _
cellZone.Value <> "" Then
Cells(cellZone.Row, _
cellZone.Column - 3).Value = "S/O"

End If

Next cellZone

End Function
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
Réponses
2
Affichages
948
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…