Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
Bonjour.
Sub Suppression1()
For Each Nom In ActiveWorkbook.Names
If Nom.Name <> "PROFESSEUR" Then Nom.Delete
Next Nom
End Sub
Sub Suppression2()
On Error Resume Next
For Each Nom In ActiveWorkbook.Names
If Nom.Name <> "PROFESSEUR" Then Nom.Delete
If Err.Number <> 0 Then Err.Clear
Next Nom
End Sub
Sub Creation()
Dim c As Range
For Each c In [PROFESSEUR]
Range(c.Offset(0, 1), c.Offset(0, 255).End(xlToLeft)).Name = c
Next c
End Sub
J'ai mis 2 possibilités de suppression. La seconde est plus radicale, elle
supprime tous les noms, sauf "PROFESSEUR".
Cordialement.
Daniel
a écrit dans le message de news:
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
Bonjour.
Sub Suppression1()
For Each Nom In ActiveWorkbook.Names
If Nom.Name <> "PROFESSEUR" Then Nom.Delete
Next Nom
End Sub
Sub Suppression2()
On Error Resume Next
For Each Nom In ActiveWorkbook.Names
If Nom.Name <> "PROFESSEUR" Then Nom.Delete
If Err.Number <> 0 Then Err.Clear
Next Nom
End Sub
Sub Creation()
Dim c As Range
For Each c In [PROFESSEUR]
Range(c.Offset(0, 1), c.Offset(0, 255).End(xlToLeft)).Name = c
Next c
End Sub
J'ai mis 2 possibilités de suppression. La seconde est plus radicale, elle
supprime tous les noms, sauf "PROFESSEUR".
Cordialement.
Daniel
<jpthillard@free.fr> a écrit dans le message de news:
1178373497.225692.127330@u30g2000hsc.googlegroups.com...
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
Bonjour.
Sub Suppression1()
For Each Nom In ActiveWorkbook.Names
If Nom.Name <> "PROFESSEUR" Then Nom.Delete
Next Nom
End Sub
Sub Suppression2()
On Error Resume Next
For Each Nom In ActiveWorkbook.Names
If Nom.Name <> "PROFESSEUR" Then Nom.Delete
If Err.Number <> 0 Then Err.Clear
Next Nom
End Sub
Sub Creation()
Dim c As Range
For Each c In [PROFESSEUR]
Range(c.Offset(0, 1), c.Offset(0, 255).End(xlToLeft)).Name = c
Next c
End Sub
J'ai mis 2 possibilités de suppression. La seconde est plus radicale, elle
supprime tous les noms, sauf "PROFESSEUR".
Cordialement.
Daniel
a écrit dans le message de news:
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
bonjour Jp,
Sub changer_NOM()
For Each nms In ActiveWorkbook.Names
nms.Delete
Next
With Sheets("Données")
For Each c In .Range("A4:A" & .Range("A65536").End(xlUp).Row)
p = .Range("IV" & c.Row).End(xlToLeft).Column
If p <> 1 Then
dd = Range(Cells(c.Row, 1), Cells(c.Row, p)).Address
ActiveWorkbook.Names.Add Name:=c.Value, RefersTo:="=Données!" & dd
End If
Next
End With
End Sub
isabelleBonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définit ion
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
bonjour Jp,
Sub changer_NOM()
For Each nms In ActiveWorkbook.Names
nms.Delete
Next
With Sheets("Données")
For Each c In .Range("A4:A" & .Range("A65536").End(xlUp).Row)
p = .Range("IV" & c.Row).End(xlToLeft).Column
If p <> 1 Then
dd = Range(Cells(c.Row, 1), Cells(c.Row, p)).Address
ActiveWorkbook.Names.Add Name:=c.Value, RefersTo:="=Données!" & dd
End If
Next
End With
End Sub
isabelle
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définit ion
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
bonjour Jp,
Sub changer_NOM()
For Each nms In ActiveWorkbook.Names
nms.Delete
Next
With Sheets("Données")
For Each c In .Range("A4:A" & .Range("A65536").End(xlUp).Row)
p = .Range("IV" & c.Row).End(xlToLeft).Column
If p <> 1 Then
dd = Range(Cells(c.Row, 1), Cells(c.Row, p)).Address
ActiveWorkbook.Names.Add Name:=c.Value, RefersTo:="=Données!" & dd
End If
Next
End With
End Sub
isabelleBonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définit ion
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la définition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demandais
s'il était possible d'automatiser cette tâche ? Attention le nombre
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner sur la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Données!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autant de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP
On 5 mai, 16:34, isabelle wrote:bonjour Jp,
Sub changer_NOM()
For Each nms In ActiveWorkbook.Names
nms.Delete
Next
With Sheets("Données")
For Each c In .Range("A4:A" & .Range("A65536").End(xlUp).Row)
p = .Range("IV" & c.Row).End(xlToLeft).Column
If p <> 1 Then
dd = Range(Cells(c.Row, 1), Cells(c.Row, p)).Address
ActiveWorkbook.Names.Add Name:=c.Value, RefersTo:="=Données!" & dd
End If
Next
End With
End Sub
isabelleBonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la défin ition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demand ais
s'il était possible d'automatiser cette tâche ? Attention le nomb re
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner su r la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Donné es!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autan t de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Isabelle et Daniel,
Formidable! Je vais pouvoir progresser sur mon fichier.
Merci à tous les deux!
Cordialement
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
On 5 mai, 16:34, isabelle <i@v> wrote:
bonjour Jp,
Sub changer_NOM()
For Each nms In ActiveWorkbook.Names
nms.Delete
Next
With Sheets("Données")
For Each c In .Range("A4:A" & .Range("A65536").End(xlUp).Row)
p = .Range("IV" & c.Row).End(xlToLeft).Column
If p <> 1 Then
dd = Range(Cells(c.Row, 1), Cells(c.Row, p)).Address
ActiveWorkbook.Names.Add Name:=c.Value, RefersTo:="=Données!" & dd
End If
Next
End With
End Sub
isabelle
Bonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la défin ition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demand ais
s'il était possible d'automatiser cette tâche ? Attention le nomb re
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner su r la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Donné es!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autan t de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Isabelle et Daniel,
Formidable! Je vais pouvoir progresser sur mon fichier.
Merci à tous les deux!
Cordialement
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
On 5 mai, 16:34, isabelle wrote:bonjour Jp,
Sub changer_NOM()
For Each nms In ActiveWorkbook.Names
nms.Delete
Next
With Sheets("Données")
For Each c In .Range("A4:A" & .Range("A65536").End(xlUp).Row)
p = .Range("IV" & c.Row).End(xlToLeft).Column
If p <> 1 Then
dd = Range(Cells(c.Row, 1), Cells(c.Row, p)).Address
ActiveWorkbook.Names.Add Name:=c.Value, RefersTo:="=Données!" & dd
End If
Next
End With
End Sub
isabelleBonjour à tous,
Sur un post datant du 1er mai dernier je disais:
Chaque année, j'utilise un tableau où je dois modifier la défin ition
des plages de cellules affectées à NOM.
Je supprime tous les noms et ensuite je les recréais un à un.
Fastidieux car ils sont nombreux et en plus de cela le travail
demande une certaine connaissance d'Excel. Je dois donner ce tableau
à
des utilisateurs non expérimentés. En conséquence, je me demand ais
s'il était possible d'automatiser cette tâche ? Attention le nomb re
de
cellules se trouvent systématiquement sur la même ligne mais le
nombre
est variable. Il peut y avoir de 1 à x cellules à selectionner su r la
même ligne.
...
En réponse bien orientée, j'ai eu:
Sub changer_NOM()
ActiveWorkbook.Names.Add Name:="PROF1", RefersToR1C1:="=Donné es!
R4C2:R4C10"
'etc...
End Sub
... Ci-dessous, ce qu'il faudrait faire ( car je vois ce qu'il faut
faire mais je n'y arrive pas)
1) Placer en tête de macro une instruction qui supprimerait toutes les
listes
2) Il faudrait créer une boucle pour que celle-ci s'exécute autan t de
fois qu'il y a de professeurs.
Au lieu de prof1; prof2; etc.. j'aurai les noms des professeurs. La
macro devrait pouvoir lire les noms des professeurs
dans la colonne intitulée Liste professeurs. Cette liste pourrait
s'appeler "PROFESSEURS"
Je joins un fichier créé pour être plus clair.
le lien est http://cjoint.com/?ffp5bhMjw7
Merci pour votre aide
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Isabelle et Daniel,
Formidable! Je vais pouvoir progresser sur mon fichier.
Merci à tous les deux!
Cordialement
JP- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -