Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2011, 15h14   #1
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 16
Points : 10
Points : 10
Par défaut Manipulation Range 3D

Bonjour à tous.

Voici mon problème, j'ai bien réussi à créer une plage nommées en selectionnant deux feuilles avec la même référence de cellules, j'ai nommée ma plage TEST qui pointe sur l'adresse suivante "Feuil1:Feuil2!$B$700".

Mon problème maintenant est que je n'arrive pas à passer de valeur à cette plage (erreur 1004 etc...) avec VBA en me servant de l'objet Range. je n'ai rien trouver sur le net qui traite ce problème.

Si une âme charitable pouvait m'aider un peu, je l'en remercierai fortement !!

Ludo.
Starbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2011, 21h03   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 920
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 920
Points : 7 237
Points : 7 237
Bonjour,

Ci dessous une méthode pour alimenter ces cellules

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim Feuille() As String
Dim Adr As String
Dim i As Integer
 
'Liste des onglets
Feuille = Split(Replace(Split(ThisWorkbook.Names("test2").RefersToLocal, "!")(0), "=", ""), ":")
 
'Adresse de destination
Adr = Split(ThisWorkbook.Names("test2").RefersToLocal, "!")(1)
 
'Alimentation des feuilles
For i = 0 To UBound(Feuille)
    Worksheets(Feuille(i)).Range(Adr).Value = 1
Next i
A noter qu'il faudra adapter le code si l'adresse de destination comporte plusieurs cellules
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2011, 00h02   #3
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

Si ce que tu souhaites est de répliquer le fonctionnement d'une référence D, il faut voir en VBA du côté de la méthode FillAcrossSheets

le code suivant te recopie la valeur de B7 de la feuille 1 sur les 9 suivantes.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub MultiCopie()
Dim I As Byte
Dim tabpass(10) As Variant
Dim tabpass2 As Variant
 
For I = 1 To 10 'pas indispensable, mais...
    'de toutes façons la fonction Array demande une liste, en faisant ainsi, j'ai un "moteur" qui me permet de ne changer le nom itérés de mes feuilles qu'une fois
    'si mes feuilles sont "Toto1" à "Toto10", j'ai juste à remplacer "Feuil" ci dessous par "Toto"...
    tabpass(I) = "Feuil" & I
Next I
tabpass2 = Array(tabpass(1), tabpass(2), tabpass(3), tabpass(4), tabpass(5), tabpass(6), tabpass(7), tabpass(8), tabpass(9), tabpass(10))
Sheets(tabpass2).FillAcrossSheets Worksheets("Feuil1").Range("B7")
 
End Sub
Cordialement,

Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 09h36   #4
Candidat au titre de Membre du Club
 
Inscription : octobre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 16
Points : 10
Points : 10
Merci pour vos précieux conseil, problème résolu.
Starbug est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h02.


 
 
 
 
Partenaires

Hébergement Web