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

macros pour nommer des plages

3 réponses
Avatar
finnley
bonjour a tous

hier isabelle m a bien d=E9pann=E9 alors je recommence aujourd=20
hui :)

mon probleme :

j'ai sur plusieurs feuilles une ligne avec la date de=20
chaque lundi de l'ann=E9e
je dois nommer chacune des cellules (soit plus de 200) et=20
j'aimerais =E9crire une macros pour automaiser ca=20

l'enregistreur de macros m'a donn=E9 le code suivant :

Sub Macro2()
=20

Range("G1").Select
ActiveWorkbook.Names.Add Name:=3D"_6_10", RefersToR1C1:=3D _
"=3DOFFSET(donnees!R2C7,,,COUNTA(donnees!C7))"
=20
End Sub

Comment afecter un nom dynamique (genre Sem X) et boucler=20
sur les colonnes (C8, C9 ...)

d'avance merci

3 réponses

Avatar
finnley
petite précision

mes entetes de colonnes sont au format Jour/Mois donc non
valide...

la macro
Sub nommage()

Dim i As Integer

Sheets("donnees").Select

For i = 7 To 100
ActiveWorkbook.Names.Add Name:Îlls(1, i), _
RefersToR1C1:="=OFFSET(Feuil1!R2C" & i & ",,,COUNTA(Feuil1!
C" & i & "))"
Next

End Sub

ne marche pas

d'avance merci

finnley
-----Message d'origine-----
bonjour a tous

hier isabelle m a bien dépanné alors je recommence
aujourd

hui :)

mon probleme :

j'ai sur plusieurs feuilles une ligne avec la date de
chaque lundi de l'année
je dois nommer chacune des cellules (soit plus de 200) et
j'aimerais écrire une macros pour automaiser ca

l'enregistreur de macros m'a donné le code suivant :

Sub Macro2()


Range("G1").Select
ActiveWorkbook.Names.Add Name:="_6_10", RefersToR1C1:= _
"=OFFSET(donnees!R2C7,,,COUNTA(donnees!C7))"

End Sub

Comment afecter un nom dynamique (genre Sem X) et boucler
sur les colonnes (C8, C9 ...)

d'avance merci

.



Avatar
Julien
Salut,

Voilà un exemple qui travaille sur la feuille active et nomme les cellulles
(de A2 à H2) qui contiennent des dates, à adapter à ton classeur.

Sub NommerCellulesAvecNumeroSemaine()
Dim nbCol As Integer, NumLigne As Integer

nbCol = 7 'nombre de colonnes concernées
NumLigne = 2 'les dates sont en ligne 2

For i = 1 To nbCol
ActiveSheet.Cells(NumLigne, i).Name = "Sem" &
NumSem(CDate(ActiveSheet.Cells(NumLigne, i)))
Next i
End Sub

Function NumSem(Jour As Date) As Integer
'Fonction obtenu sur MPFE !
d = Int(Jour)
reS = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
reS = ((d - reS - 3 + (Weekday(reS) + 1) Mod 7)) 7 + 1
NumSem = reS
End Function

Julien


"finnley" a écrit dans le message de
news:5c5901c42dc0$d0d901f0$
bonjour a tous

hier isabelle m a bien dépanné alors je recommence aujourd
hui :)

mon probleme :

j'ai sur plusieurs feuilles une ligne avec la date de
chaque lundi de l'année
je dois nommer chacune des cellules (soit plus de 200) et
j'aimerais écrire une macros pour automaiser ca

l'enregistreur de macros m'a donné le code suivant :

Sub Macro2()


Range("G1").Select
ActiveWorkbook.Names.Add Name:="_6_10", RefersToR1C1:= _
"=OFFSET(donnees!R2C7,,,COUNTA(donnees!C7))"

End Sub

Comment afecter un nom dynamique (genre Sem X) et boucler
sur les colonnes (C8, C9 ...)

d'avance merci
Avatar
FINNLEY
merci bcp


-----Message d'origine-----
Salut,

Voilà un exemple qui travaille sur la feuille active et
nomme les cellulles

(de A2 à H2) qui contiennent des dates, à adapter à ton
classeur.


Sub NommerCellulesAvecNumeroSemaine()
Dim nbCol As Integer, NumLigne As Integer

nbCol = 7 'nombre de colonnes concernées
NumLigne = 2 'les dates sont en ligne 2

For i = 1 To nbCol
ActiveSheet.Cells(NumLigne, i).Name = "Sem" &
NumSem(CDate(ActiveSheet.Cells(NumLigne, i)))
Next i
End Sub

Function NumSem(Jour As Date) As Integer
'Fonction obtenu sur MPFE !
d = Int(Jour)
reS = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 -
3), 1, 1)

reS = ((d - reS - 3 + (Weekday(reS) + 1) Mod 7)) 7
+ 1

NumSem = reS
End Function

Julien


"finnley" a écrit
dans le message de

news:5c5901c42dc0$d0d901f0$
bonjour a tous

hier isabelle m a bien dépanné alors je recommence aujourd
hui :)

mon probleme :

j'ai sur plusieurs feuilles une ligne avec la date de
chaque lundi de l'année
je dois nommer chacune des cellules (soit plus de 200) et
j'aimerais écrire une macros pour automaiser ca

l'enregistreur de macros m'a donné le code suivant :

Sub Macro2()


Range("G1").Select
ActiveWorkbook.Names.Add Name:="_6_10", RefersToR1C1:= _
"=OFFSET(donnees!R2C7,,,COUNTA(donnees!C7))"

End Sub

Comment afecter un nom dynamique (genre Sem X) et boucler
sur les colonnes (C8, C9 ...)

d'avance merci


.