|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 9 ![]() |
Bonjour,
N'ayant pas trouvé de réponse pertinnente dans le FAQ, je me permets de poster ce message. Mon but est de pouvoir via une macro nommer une plage de cellule, qui par la suite peut évoluer en taille. Par exemple passer de a1:z3000 à a1:z5000. Pour l'instant j'arrive à faire la sélection de la zone par macro en fonction du nombre de donner mais je n'arrive pas à modifier la plage du nom. merci d'avance |
|
|
00
|
|
|
#2 |
![]() ![]() |
salut,
si tu utilises la fonction decaler dans Excel, lors de l'ajout d'une ligne en fin de colonne, elle est automatiquement incorporee a ta zone nommee.
__________________
Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access |
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 343 ![]() |
Bonjour,
Sinon avec du code vba quelque chose dans ce style : Code :
|
||
|
|
00
|
|
|
#4 | |||
|
Membre Expert
![]() Inscription : juillet 2007 Messages : 2 134 ![]() |
Salut brice86190 et le forum
Citation:
Code :
|
|||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2009 Messages : 9 ![]() |
Bonjour,
Si j'ai bien compris, Access Newbie, avec ta proposition la plage de cellule n'est pas une variable et ne se modifiera pas automatiquement lors d'ajout d'autre données à la base? Il faudrait que dans le "range", à la place de "a1;z5000" je puisse mettre la variable decaler() par exemple mais cela ne fonctionne pas. Bonjour Gorfael, Je ne suis pas un as en vba, je voulais savoir si à base du code que tu me propose, il est possible de définir une plage qui contient des données. Car avec ton code il sélectionne les 5 1ère ligne de toutes les colonnes qu'il y est des données ou pas dedans, ou puis-je insérer une variable dans ce code, par exemple la fonction "decaler" peut elle être insérer dans ce code. Merci Dernière modification par AlainTech ; 23/04/2010 à 20h50. Motif: Fusion de 2 messages |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Inscription : juillet 2007 Messages : 2 134 ![]() |
Salut brice86190 et le forum
Citation:
Si tu n'exposes pas complêtement le problème, même punition. jpcheck te propose d'utiliser la fonction DECALER() pour créer une plage dynamique, qui recalculera les adresses, directement dans la feuille de calcul, sans passer par VBA : c'est une autre méthode. Dans les instructions VBA que je t'ai données, j'ai fourni une piste : "=Feuil1!R1C1:R1C26" de R1C1 (A1) à R1C26 (Z1) Citation:
Dim X As Long Définir la variable X en entier long X = 5 alimenter la variable avec une valeur => ici 5 ActiveWorkbook.Names("AA").RefersToR1C1 = "=Feuil1!R1C1:R" & X & "C26" redéfinir la plage nommée AA avec la valeur de la variable => ici R1C1:RxC26 <=> R1C1:R5C26 : A1:Z5 Ça ne correspond pas exactement à ta demande, mais ça te donne une idée de ce que tu dois chercher, comme toi tu nous as donné une idée de ton problème. "=Feuil1!R1C1:R1C26" peut se transformer en "=Feuil1!R" & L_1 & "C" & C_1 & ":R" & L_2 & "C" & C_2 & """" avec C_1 et C_2 des variables définissant les numéros de colonnes de départ et de fin de la plage L_1 et L_2 des variables définissant les numéros de lignes de départ et de fin de la plage Donc, si je définis C_1=2, C_2=27, L_1=3000, L_2=5000, la plage nommée AA sera redéfinie en B3000:AA5000 Mais ce n'est qu'une idée, pour pouvoir travailler, pas la résolution de ton problème, puisque la seule info fournie est que tu veux renommer une "plage de données", et qu'on n'en sait pas plus. Une instruction dans la définition du nom dans la feuille excel du style : =DECALER(Feuil1!A1;0;0;NBVAL(A:A);26) serait peut-être plus adaptée, mais comment savoir ???? Et ne te fais pas d'illusion, les dépanneurs recherchent à écrire le moins possible. Perso, un sujet simple qui dépasse les 5 postes ne m'intéresse plus : soit il faut torturer le créateur pour lui arracher des infos, soit celles qu'il donne ne permettent pas de comprendre le problème. Et passer mon temps en écrivain ou en bourreau ne m'apporte que peu de satisfaction A+ Dernière modification par Gorfael ; 06/02/2010 à 10h01. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com