Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Demande aiide sur modification code

perdinch

XLDnaute Occasionnel
Bonjour pouvez m'aider à adapter la syntaxe d'une partie du code dans une procédure,

Dans cette macro qui crée des zones nommées dynamiques pour chaque colonne de chacune des onglets dont le nom commence par toto,

je souhaite remplacer la ligne suivante qui compte le nombre cellule de la colonne A contenant une valeur:
"=OFFSET(" & c.Address & ",1,,COUNTA(" & c.EntireColumn.Address & ")-1)"

par ce code qui utilise une variable (la dernière ligne de la colonne A ) et n'utilise pas OFFSET....:

Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row



Ci dessous la procédure dans son intégralité
---------------------------------------------------------------------------
Sub Creation_Zones_Nommees_Auto2()
Dim c As Range
Dim feuill As Worksheet
For Each feuill In ActiveWorkbook.Worksheets
If feuill.Name Like "toto*" Then
feuill.Select
For Each c In Range([A1], [IV1].End(xlToLeft))
If Not IsEmpty(c.Offset(1, 0)) Then
ActiveWorkbook.Names.Add Name:=feuill.Name & "_" & c, RefersTo:= _
"=OFFSET(" & c.Address & ",1,,COUNTA(" & c.EntireColumn.Address & ")-1)"
End If
Next
End If
Next feuill
End Sub

--------------------------------------------------------------------------------------

L'objectif étant que les zones nommées soient crées avec des plages fixes et non dynamiques
(les zones nommées utilisant la fonction décaler me pose des problèmes quand je l'utilise avec la fonction INDIRECT)

merci
 

Pierrot93

XLDnaute Barbatruc
Re : Demande aiide sur modification code

Bonjour,

tu pourrais peut être le faie ainsi :
Code:
Range(c.Offset(1), Cells(DernLigne, c.Column)).Name = feuill.Name & "_" & c

bon après midi
@+
 

Discussions similaires

Réponses
5
Affichages
273
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…