Adresse et Nom déclaration VBA

Bonjour

Pour récupérer à l'aide d'une liaison variable le contenu des cellules d'ans une plage nommée "Plage", j'utilise les éléments de Code suivants:

Dim MaCellule As Object
For Each MaCellule In Range("Plage")
.............
Next MaCellule
.............

Cela est parfait quand la liaison indique une cellule de type A1.

Avec cette déclaration, Je rencontre une difficulté dans 2 cas.

1) Si Plusieurs liaisons mentionnent (sur des fichiers différents) un même Nom défini dans ces classeurs, seule la première ligne est correcte, la suite renvoie une erreur Nom.

2) Si sur ma plage, lorsque des cellules indiquées par des adresses sont panachées avec des cellule contenant des Noms (Cellules Nommées). Seules les cellules contenant les adresses type A1 sont renseignées, ainsi que la première liaison contenant le Nom.

Question1: Quelle est la modif du Code cité plus haut pour s'adresser non plus à des cellules, mais à des Noms définis ? et notamment la déclaration.

Question2: Quelle serait la syntaxe pour parcourir une plage de cellule contenant ces éléments panachés?

Merci.

Cordialement

Bonjour Amadéus,

si je prends l'exemple du poste Arrondi....

Sub Modifie2()
Dim Cel As Range
    For Each Cel In Range("Plage")
        If Cel - Int(Cel) > 0.5 Then
            Cel = CInt(Int(Cel - 0.5))
        Else
            Cel = CInt(Int(Cel))
        End If
    Next Cel
End Sub

çà devrait suffire !

Amicalement

Claude

édit: tu auras sans doute vu mon erreur, c'est corrigé

Bonjour Claude

Merci, bien sur.

Cependant j'ai toujours mon erreur #NOM? après le premier lien créé et comme j'ai bien conscience que le fichier qui ne contient que des liaisons ne te servirait à rien, je suis bien ennuyé pour étoffer mon explication précédente.

Amicalement

re,

Pourquoi, le nom défini "Plage" est dans un autre classeur ?

essaye de faire un petit exemple vite fait avec 2 fichiers

Claude

Re bonjour

Mon Code renvoie donc cette erreur #NOM par exemple lorsque à partir d'une plage incrémentée créant un lien sous forme de formule, j'utilise le même nom défini.

Ex sur 2 lignes

="="&"'D:\Mes documents\"&"["&$C7&""&"]"&"Feuil1'!BV"
="="&"'D:\Mes documents\"&"["&$C8&""&"]"&"Feuil1'!BV"

Ces deux lignes traitées renvoient (dans la barre de formule)

='D:\Mes documents\[5.xls]Feuil1'!BV

et

='D:\Mes documents\[6.xls]Feuil1'!BV

mais, seule la première renvoie le résultat, la seconde renvoie l'erreur #NOM?

Car la macro refuse l'utilisation du même nom pour 2 fichiers, pourtant différents.

En remplaçant le second nom BV par autre chose, la liaison fonctionne correctement.

Je fais l'exemple demandé et je reviens

Re bonjour

Claude

Le Zip contient 3 fichiers 60 Ko au total dézippé.

pour que les formules soient correctes, il faudrait ouvrir le ZIP dans D\Mes documents ou changer le lecteur dans les formules.

Amicalement

30test.zip (32.95 Ko)

re Amadéus,

y-a pas le feu ?

je dois sortir, je regarde dans la soirée

Claude

-- Jeu Mai 27, 2010 8:40 pm --

Bonsoir,

mais, seule la première renvoie le résultat, la seconde renvoie l'erreur #NOM?

Car la macro refuse l'utilisation du même nom pour 2 fichiers, pourtant différents.

Je n'ai pas ce problème, les 2 macros fonctionnent chez moi

J'ai mis les 3 fichiers dans un répertoire créé C:\Mes documents

et changé le D: en C:

j'ai aussi changé le contenu des cellules en rouge, et çà suit bien

ou j'ai pas compris ta demande

Amicalement

Claude

Bonsoir à tous,

Amadéus,

La suite de notre conversation sur ce poste, au cas ou tu ne l'aurais pas vu passé.

Poste https://forum.excel-pratique.com/excel/vba-syntaxe-t17458.html

Dan a trouver la solution pour récupérer une cellule donnée (A1 de la Feuil1 par exemple)

On peut évidemment mettre tout en Dur pour éviter les liaisons.

Amicalement

Claude

Bonsoir Claude

J'ai tout vu avec un peu de retard car j'ai pris un peu l'air.

Merci encore aux experts VBA.

Amicalement

Bonjour Amadéus, forum,

Tu n'as pas clôturer ce poste, attendrais-tu un complément d'informations ?

si oui, précise quoi

Bonne journée

Claude

Claude

"Mea culpa"

Rechercher des sujets similaires à "adresse nom declaration vba"