Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dernière cellule

4 réponses
Avatar
pb
Bonjour
Je cherche en VBA à atteindre la dernière cellule d'une zone nommée
dynamiquement.
Merci

4 réponses

Avatar
JB
Bonjour,

Range(Split(Range("champ").Address, ":")(1)).Select

JB
http://boisgontierjacques.free.fr/

On 29 mar, 10:53, "pb" wrote:
Bonjour
Je cherche en VBA à atteindre la dernière cellule d'une zone nommée
dynamiquement.
Merci


Avatar
pb
Merci Jacques,
En fait ma question est incompléte.
J'insére 14 col avec le code de Lsteph:

Application.ScreenUpdating = False
[a:m].Insert Shift:=xlToRight

Ensuite je copie une formule en a2 avec:
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(INDEX(Usine,MATCH(RC41,code,0),1)),"""",(INDEX(Usine,MATCH(RC41,code,0),1)))"

Ce que je voudrais c'est recopier cette formule en A jusqu'a la dernière
cellule nommé de zone dynamique.
En fait si la dernière cellule de ma zone Dynamique est en N 456, alors je
copie la formule de A2 à A456

Pascal


"JB" a écrit dans le message de news:

Bonjour,

Range(Split(Range("champ").Address, ":")(1)).Select

JB
http://boisgontierjacques.free.fr/

On 29 mar, 10:53, "pb" wrote:
Bonjour
Je cherche en VBA à atteindre la dernière cellule d'une zone nommée
dynamiquement.
Merci


Avatar
MichDenis
Pour atteindre la dernière cellule d'une zone nommée
valide pour toutes les versions d'excel
Si la plage nommée se nomme toto

With Range("Toto")
.Item(.rows.count,.columns.count).select
End with

Pour recopier une formule sur la totalité d'une plage

Choix personnel : je ne travaille "jamais" avec des truc RC41
moi, j'ai besoin de quelque chose de plus parlant, et j'utilise
l'objet "Range("A1")" pour faire référence à des cellules d'une
feuille.

RC41 dans la macro proprosé représente la colonne "AP", au besoin
tu n'auras qu'à adapter le 41 de la formule.


'----------------------------------------------
Sub test()
Dim Rg As Range

With Feuil1 ' nom feuille à adapter
Set Rg = .Range("A1:A" & .Range("A452").End(xlUp).Row)
End With

Rg.Formula = "=IF(ISERROR(INDEX(Usine,MATCH(" & _
Rg(1).Offset(, 41).Address(0, 0) & _
",code,0),1)),"""",(INDEX(Usine,MATCH(" & _
Rg(1).Offset(, 41).Address(0, 0) & ",code,0),1)))"
End Sub
'----------------------------------------------




Sub test()
Dim Rg As Range
With Feuil1
Set Rg = .Range("A1:A" & .Range("A452").End(xlUp).Row)
End With

Rg.Formula = "=IF(ISERROR(INDEX(Usine,MATCH(" & _
Rg(1).Offset(, 41).Address(0, 0) & _
",code,0),1)),"""",(INDEX(Usine,MATCH(" & _
Rg(1).Offset(, 41).Address(0, 0) & ",code,0),1)))"

End Sub





"pb" a écrit dans le message de groupe de discussion :
#
Bonjour
Je cherche en VBA à atteindre la dernière cellule d'une zone nommée
dynamiquement.
Merci
Avatar
MichDenis
correction d'une petite coquille :

| With Feuil1 ' nom feuille à adapter
| Set Rg = .Range("A1:A" & .Range("A452").End(xlUp).Row)
| End With

si tu connais l'étendue de la plage tu peux utiliser :

With Feuil1 ' nom feuille à adapter
Set Rg = .Range("A1:A452")
End With

Si tu ignores quelle est la dernière cellule de la colonne A ;

With Feuil1 ' nom feuille à adapter
Set Rg = .Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row)
End With




"MichDenis" a écrit dans le message de groupe de discussion :
#
Pour atteindre la dernière cellule d'une zone nommée
valide pour toutes les versions d'excel
Si la plage nommée se nomme toto

With Range("Toto")
.Item(.rows.count,.columns.count).select
End with

Pour recopier une formule sur la totalité d'une plage

Choix personnel : je ne travaille "jamais" avec des truc RC41
moi, j'ai besoin de quelque chose de plus parlant, et j'utilise
l'objet "Range("A1")" pour faire référence à des cellules d'une
feuille.

RC41 dans la macro proprosé représente la colonne "AP", au besoin
tu n'auras qu'à adapter le 41 de la formule.


'----------------------------------------------
Sub test()
Dim Rg As Range

With Feuil1 ' nom feuille à adapter
Set Rg = .Range("A1:A" & .Range("A452").End(xlUp).Row)
End With

Rg.Formula = "=IF(ISERROR(INDEX(Usine,MATCH(" & _
Rg(1).Offset(, 41).Address(0, 0) & _
",code,0),1)),"""",(INDEX(Usine,MATCH(" & _
Rg(1).Offset(, 41).Address(0, 0) & ",code,0),1)))"
End Sub
'----------------------------------------------




Sub test()
Dim Rg As Range
With Feuil1
Set Rg = .Range("A1:A" & .Range("A452").End(xlUp).Row)
End With

Rg.Formula = "=IF(ISERROR(INDEX(Usine,MATCH(" & _
Rg(1).Offset(, 41).Address(0, 0) & _
",code,0),1)),"""",(INDEX(Usine,MATCH(" & _
Rg(1).Offset(, 41).Address(0, 0) & ",code,0),1)))"

End Sub





"pb" a écrit dans le message de groupe de discussion :
#
Bonjour
Je cherche en VBA à atteindre la dernière cellule d'une zone nommée
dynamiquement.
Merci