plage de cellules "fixe"

57Laurent

XLDnaute Nouveau
Bonjour,

J'ai nommé une plage de cellule.
Il est normal que si l'on ajoute une colonne, la plage se déplace elle aussi d'une colonne.

Est-il possible de "bloquer" cette plage de telle sorte que si j'ajoute une colonne, ma plage ne se décale pas.

EX : fonctionnement normal, plage A1:B10. J'ajoute une colonne A, ma plage devient B1:C10.

Mon souhait : ma plage reste en A1:B10. En clair elle se décale de façon à ce que l'ajout de colonne soit sans effet sur la plage initiale.

Merci d'avance
 

Staple1600

XLDnaute Barbatruc
Re : plage de cellules "fixe"

Bonjour à tous

Essaies avec VBA
Dim MaPlage As Range
Set MaPlage=Range("A1:B10")
MaPlage.Name="NOMPLAGE"

A mettre dans une procédure événementielle.
(dans le code de la feuille elle-même, pas dans un module standard)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MaPlage As Range
Set MaPlage = Range("A1:B10")
MaPlage.Name = "NOMPLAGE"
End Sub
PS: Je viens de tester basiquement, il semblerait que cela fonctionne.
 
Dernière édition:

Misange

XLDnaute Barbatruc
Re : plage de cellules "fixe"

Bonjour
en un mot : non. Quel serait l'intérêt de pouvoir insérer une colonne dans une feuille si les données restaient à la même place ?
Mais si tu nous disais plutot quel est ton souci, pourquoi tu souhaites cette "fonctionnalité". Tu sais que tu peux nommer une plage et que ce nom s'adapte même si la plage se déplace ?
 

Staple1600

XLDnaute Barbatruc
Re : plage de cellules "fixe"

Re

Bonjour Misange, Jocelyn

Misange
Justement il veut que sa plage nommée soit fixe ;)
Qu'elle n'évolue pas si on insère une ligne ou une colonne.
(voir mon message précédent)

EDITION; Ah oui , j’oubliais la possibilité avec DECALER et la plage dynamique. Désolé :eek:
 
Dernière édition:

57Laurent

XLDnaute Nouveau
Re : plage de cellules "fixe"

Merci pour vos réponses. je vais donc essayer avec VBA.
Le problème vient du fait que j'ai une autre macro qui, malgré les ajouts et suppressions de colonnes, "recale" une autre plage à côté.
Il y a donc, si je ne réussis pas à bloquer cette plage, un conflit entre les 2 zones.
Je pensais qu'il existait peut-être une solution sans passer par VBA, en utilisant les possibilités de nommage de plages.
 

Misange

XLDnaute Barbatruc
Re : plage de cellules "fixe"

rebonjour
Si tu nommes ta plage, ou plus simple encore si tu la transformes en liste (fonctionnalité appelée tableau dans les versions suivantes), tu peux toujours t'y référer par son nom quelque soit sa position ou son déplacement dans la feuille suite à l'insertion ou à la délétion de colonnes.
Regarde ici pour les codfes VBA permettant de travailler sur les tableaux (listes)
Ce lien n'existe plus
Ta plage sous forme de liste est automatiquement dynamique (pas besoin donc de formule decaler pour la nomner, sans compter que pour utiliser decaler il faut quand même avoir une cellule de référence identifiée).
Qu'elle soit en A1G4 ou qu'elle devienne H3:Z3256, elle aura toujours le même nom et excel connaitra automatiquement sa taille.

Mais la formulation très floue de ta question ne permet pas vraiment de t'aider davantage :)
 

Staple1600

XLDnaute Barbatruc
Re : plage de cellules "fixe"

Re

Misange:
Ce que j'ai compris c'est que la plage nommée doit toujours être A1:B10 quoiqu'il se passe sur la feuille.
(car si on insère une ligne ou une colonne dans cette plage, la plage nommée ne sera plus A1:B10)
En tout cas si je n'ai pas trouvé la question floue, moi je le suis dans le flou avec la grippe carabinée que je me coltine depuis hier soir. ;)
 

Misange

XLDnaute Barbatruc
Re : plage de cellules "fixe"

La question que j'ai posée c'est pourquoi faut-il que cette plage soit toujours en A1:B10 ? Si c'est pour savoir où elle est et ne pas coller autre chose dedans, il y a moyen de faire autrement avec une plage nommée. MAis comme on n'a pas vraiment le détail de ce que fait la macro dans son ensemble, je persiste à trouvere ça flou.

Garde tes crobes chez toi mais débarrasse-t-en vite quand même ! demande un bon grog à Dull, il a quelques citrons verts qui devraient faire merveille pour ça, vitamines garanties. Ou alors il a surement un bon rhum arrangé qui fera tourner la tête à tes vilains crobes. et Dors ! :)
 

Si...

XLDnaute Barbatruc
Re : plage de cellules "fixe"

salut

on peut semer à tout vent avec cette demande.
Mais ton code Staple n'est utilisable que dans d'autres macros.
Avec celui-ci par exemple, le nom pourra être aussi utilisé dans des formules à rallonge* du classeur
Code:
Private Sub Worksheet_Calculate()
  ThisWorkbook.Names("N").RefersToR1C1 = "=" & ActiveSheet.Name & "!R1C1:R10C2"
End Sub

* me suis pas fatigué dans l'exemple joint mais j'ai déjà vu des formules qui n'en finissait pas d'en finir.
 

Pièces jointes

  • Nom(VBA).xlsm
    16.3 KB · Affichages: 27

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 506
Messages
2 089 072
Membres
104 020
dernier inscrit
Mzghal