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

Ne pas faire référence à un nom de zone

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 !

olive323

XLDnaute Occasionnel
Bonjour à tous,

La zone B4:i107 se nomme J_1. Le texte en gras fait appel à cette zone, je souhaiterais écrire B4:i107 au lieu de J_1, mais quand je le remplace ca ne fonctionne pas.

ex:

p = Application.Match(c, Application.Index([j_1], , 1), 0)
p = Application.Match(c, Application.Index([B4:i107], , 1), 0) changement souhaité qui ne fonctionne pas.

Merci pour votre aide


 
Re : Ne pas faire référence à un nom de zone

Bonjour à tous

olive323
Un fichier exemple serait utile pour que nous testions nos proposions avant de te les soumettre, non ?

PS: C'est normal les deux virgules dans ta syntaxe avec Index ?
 
Re : Ne pas faire référence à un nom de zone

Re

Ton code génère une erreur 2023.
Reste à trouver la cause
Cf AIDE VBA
[TABLE="class: grid, width: 500"]
[TR]
[TH]Constante[/TH]
[TH]Numéro de l'erreur[/TH]
[TH]Valeur d'erreur de cellule[/TH]
[/TR]
[TR]
[TD]xlErrDiv0[/TD]
[TD]2007[/TD]
[TD]#DIV/0![/TD]
[/TR]
[TR]
[TD]XlErrNA[/TD]
[TD]2042[/TD]
[TD]#N/A[/TD]
[/TR]
[TR]
[TD]xlErrName[/TD]
[TD]2029[/TD]
[TD]#NAME ?[/TD]
[/TR]
[TR]
[TD]XlErrNull[/TD]
[TD]2000[/TD]
[TD]#NULL![/TD]
[/TR]
[TR]
[TD]XlErrNum[/TD]
[TD]2036[/TD]
[TD]#NUM![/TD]
[/TR]
[TR]
[TD]XlErrRef[/TD]
[TD]2023[/TD]
[TD]#REF![/TD]
[/TR]
[TR]
[TD]XlErrValue[/TD]
[TD]2015[/TD]
[TD]#VALUE![/TD]
[/TR]
[/TABLE]
PS: C'est pareil si tu testes sans VBA mais par formule
=EQUIV(A5;INDEX(j_1;1);0)
renvoie bien #REF!
 
Dernière édition:
Re : Ne pas faire référence à un nom de zone

il y avait une erreur dans le fichier joint ( je l'ai modifié)

il fonctionne sur la journée du mardi, mais par zone de nom mais si je le remplace par b4:i104 la formule fonctionne mais pas le code VBA?
 
Re : Ne pas faire référence à un nom de zone

si tu peux STP m'en dire un peu plus parceque avec le code erreur je ne comprends pas d'ou vient mon problème. Je ne sais meme pas comment tu trouves les codes erreurs.
 
Re : Ne pas faire référence à un nom de zone

Re

J'utilise Debug.Print dans VBA tout simplement.

(J'essaie mais à mon rythme d'obtenir ce que tu souhaites mais selon mon raisonnement et comme nous sommes en week-end , je prends mon temps et baguenaude entre XLD et d'autres activités ludiques ou nécessaires 😉 )
 
Re : Ne pas faire référence à un nom de zone

Bonsoir,

Je viens de tester le fichier du post #3 sous Excel 2010 et Excel 2002 (Excel XP). Le code s'exécute correctement sans erreur
J'ai aussi remplacé J_2 par J4:Q107 et ça fonctionne encore bien.

Ai-je loopé quelque chose ??


G
 
Re : Ne pas faire référence à un nom de zone

Re, Bonsoir Gelinotte


Ce n'est pas ce que dit Debug.Print 😉
Code:
p = Application.Match(c, Application.Index([j_1], , 1), 0)
Debug.Print p

PS: Effectivement au final, on obtient un résultat, mais l'erreur est là même si on le voit pas se manifester.

C'est simplement ce que j'ai voulu signaler.
Dans le sens, où ce serait mieux que le code s’exécute sans générer d'erreur 😉
 
Re : Ne pas faire référence à un nom de zone

Bonjour gellinote

le code doit renvoyer CP ou AM...dans l'onglet congés, ok il n'y a pas d'erreur visuelle. Mais si je modifie J_2 par J4:Q107 il ne fait plus le boulot.
 
Dernière édition:
Re : Ne pas faire référence à un nom de zone

Non, non

Je te confirme que ton cerveau va bien😉, par contre le mien à revoir...

Merci beaucoup🙂, une fois fait ça parait tellement évident.

Merci à JM qui a certainement tenté de me mettre sur la piste avec les codes erreurs.


Encore merci du coup de main et bonne semaine...

olive
 
Re : Ne pas faire référence à un nom de zone

Bonjour à tous,

Je souhaiterais que les données soient copiées en face de la meme date ex: dans l'onglet S1 , si dans la zone B1:i107 je trouve une date identique qui se trouve dans l'onglet congés alors la valeur de la colonne i (cp,am,ect...) se reportent en dessous de cette date et en face du chiffre correspondant

Vba en gras à modifier
Merci de votre aide

ate
Sub majlundi()
Dim NomSem As String
Dim P As Variant
Dim c As Range
NomSem = "S1" 'ActiveSheet.Name
Sheets(NomSem).Activate
Sheets("congés").Select
Application.ScreenUpdating = False
For Each c In [A5:A54]
P = Application.Match(c, Application.Index(Sheets("S1").Range("b4:i107"), , 1), 0)
If Not IsError(P) Then
Sheets(NomSem).Range("b4:i107").Cells(P, 8).copy
Sheets("congés").Select
c.Offset(0, 2).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone
End If
Next c
Application.ScreenUpdating = True
Sheets(NomSem).Activate
Application.CutCopyMode = False
End Sub
Fichiers attachés
test (3).xls‎ (248,0 Ko, 5 affichages)
Dernière modification par olive323 ; 22/11/2012 à 13h37.
 
- 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

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