Aide sur Excel 2000
Résolu
Flopac
-
Flopac -
Flopac -
Bonjour,
Je me permet de laiiser un message sur ce forum car j'ai un petit probléme sur Excel 2000.
En effet j'ai créer un classeur de plusieurs onglets numéroté de 1 à 10, et je souhaite insérer une nouvelle feuille entre ma feuille n°1 et n°2. Par conséquent ma feuille n°2 deviendra ma feuille n°3, ma n°3 deviendra ma n°4, etc...
Je voudrai savoir si il n'y avait pas un moyen de faire se décalage de numérotation automatiquement (macro, programmation...)
Merci de vos prochaines réponses à mon probléme.
Cordialement
(PS : je ne connai vraiment pas grand chose en macro)
Je me permet de laiiser un message sur ce forum car j'ai un petit probléme sur Excel 2000.
En effet j'ai créer un classeur de plusieurs onglets numéroté de 1 à 10, et je souhaite insérer une nouvelle feuille entre ma feuille n°1 et n°2. Par conséquent ma feuille n°2 deviendra ma feuille n°3, ma n°3 deviendra ma n°4, etc...
Je voudrai savoir si il n'y avait pas un moyen de faire se décalage de numérotation automatiquement (macro, programmation...)
Merci de vos prochaines réponses à mon probléme.
Cordialement
(PS : je ne connai vraiment pas grand chose en macro)
A voir également:
- Aide sur Excel 2000
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Déplacer colonne excel - Guide
4 réponses
bonjour
une macro qui insere et renomme les feuilles
pour mettre ça en route
1. Alt-F11 pour acceder à l'editeur de macro
2. Insertion/Module
3. copier/coller ce code
4. revenir sur une feuille
5. Outils/Macro/ selectionner la macro/ option et affecter un raccourci clacvier (Ctrl+i par exemple)
6. depuis une feuill/ ctrl+i pour lancer la macro
bonne suite
une macro qui insere et renomme les feuilles
Public Sub InsereFeuille() Dim nbF As Long, nuF As Long, nuFIns As String nbF = Sheets.Count nuFIns = InputBox("inserer avant feuille n° ") Sheets(nuFIns).Select Sheets.Add For nuF = nbF + 1 To 1 Step -1 Sheets(nuF).Name = LTrim(Str(nuF)) Next nuF End Sub
pour mettre ça en route
1. Alt-F11 pour acceder à l'editeur de macro
2. Insertion/Module
3. copier/coller ce code
4. revenir sur une feuille
5. Outils/Macro/ selectionner la macro/ option et affecter un raccourci clacvier (Ctrl+i par exemple)
6. depuis une feuill/ ctrl+i pour lancer la macro
bonne suite
re
RQ1. je n'ai pas bien compris
Par contre connais tu une macro, afin de faire la meme chose mais cette fois le numéro de page se trouve dans une cellule A1 pour la page n°1, n°2...
ces numéros se trouvent dans quelle feuille?
RQ2. pour supprimer/renommer, il vaut mieux là aussi proceder par macro
j'ai mis le prefixe "IS N°" dans une constante, mais tu peux le récupérer depuis une cellule
- dans la liste des variables ajouter
Dim prefixe as string
- en début de macro ajouter
prefixe = sheets(nom de la feuille où tu veux recuperer ce n°).Range("A1").value
RQ3. avec l'instruction Displayalerts= false, la feuille sera supprimée "sans sommation" si ça te gêne, tu mets un ' (apostrophe) devant, la macro te demandera alors une confirmation avant la suppression
bonne suite
RQ1. je n'ai pas bien compris
Par contre connais tu une macro, afin de faire la meme chose mais cette fois le numéro de page se trouve dans une cellule A1 pour la page n°1, n°2...
ces numéros se trouvent dans quelle feuille?
RQ2. pour supprimer/renommer, il vaut mieux là aussi proceder par macro
j'ai mis le prefixe "IS N°" dans une constante, mais tu peux le récupérer depuis une cellule
- dans la liste des variables ajouter
Dim prefixe as string
- en début de macro ajouter
prefixe = sheets(nom de la feuille où tu veux recuperer ce n°).Range("A1").value
RQ3. avec l'instruction Displayalerts= false, la feuille sera supprimée "sans sommation" si ça te gêne, tu mets un ' (apostrophe) devant, la macro te demandera alors une confirmation avant la suppression
Option Explicit Const prefixe = "IS N°" Public Sub InsereFeuille() Dim nbF As Long, nuF As Long, nuFIns As String nbF = Sheets.Count nuFIns = InputBox("inserer avant feuille n° ", , prefixe) Sheets(nuFIns).Select Sheets.Add For nuF = nbF + 1 To 1 Step -1 Sheets(nuF).Name = prefixe & LTrim(Str(nuF)) Next nuF End Sub Public Sub SupprimeFeuille() Dim nbF As Long, nuF As Long, nuFIns As String Application.DisplayAlerts = False nbF = Sheets.Count nuFIns = InputBox("supprimer feuille n° ", , prefixe) Sheets(nuFIns).Delete For nuF = 1 To nbF - 1 Sheets(nuF).Name = prefixe & LTrim(Str(nuF)) Next nuF Application.DisplayAlerts = True End Sub
bonne suite
Encore merci de ton aide précieuse !
Concernant ma deuxième question que j'avais mal poser. En faite sur chaque feuille, il y a son nom correspondant au nom situé sur son onglet, il est inscrit sur chaque feuille dans la cellule A1.
Je voudrai donc savoir :
_ lorsque une certaine feuille est supprimer, avec ta macro ci-dessus le nom des onglets se réorganise dans un ordre croissant (c'est ce que je souhaitai) mais je voudrai que le nom situé en cellule A1 se rétablisse aussi comme le nom de l'onglet. Es ce que cala est possible?
Merci d'avance.
Cordialement
Concernant ma deuxième question que j'avais mal poser. En faite sur chaque feuille, il y a son nom correspondant au nom situé sur son onglet, il est inscrit sur chaque feuille dans la cellule A1.
Je voudrai donc savoir :
_ lorsque une certaine feuille est supprimer, avec ta macro ci-dessus le nom des onglets se réorganise dans un ordre croissant (c'est ce que je souhaitai) mais je voudrai que le nom situé en cellule A1 se rétablisse aussi comme le nom de l'onglet. Es ce que cala est possible?
Merci d'avance.
Cordialement
Bonjour,
Par exemple ceci :
m@rina
Par exemple ceci :
Sub inser() For x = 1 To ThisWorkbook.Sheets.Count ThisWorkbook.Sheets(x).Name = "feuille" & x Next End Sub
m@rina
re
RQ1. c'est possible et avec mes explications tu aurais pu faire la modif. il ne faut pas hésiter à tenter ....
RQ2. j'ai ajouté une gestion d'erreur au cas où le nom de la feuille à inserer/supprimer est incorrect
bonne suite
RQ1. c'est possible et avec mes explications tu aurais pu faire la modif. il ne faut pas hésiter à tenter ....
RQ2. j'ai ajouté une gestion d'erreur au cas où le nom de la feuille à inserer/supprimer est incorrect
Option Explicit Const prefixe = "IS N°" Const CellNomF = "A1" Public Sub InsereFeuille() Dim nbF As Long, nuF As Long, nuFIns As String On Error GoTo fin nbF = Sheets.Count nuFIns = InputBox("inserer avant feuille n° ", , prefixe) Sheets(nuFIns).Select Sheets.Add For nuF = nbF + 1 To 1 Step -1 Sheets(nuF).Name = prefixe & LTrim(Str(nuF)) Sheets(nuF).Range(CellNomF).Value = Sheets(nuF).Name Next nuF fin: End Sub Public Sub SupprimeFeuille() Dim nbF As Long, nuF As Long, nuFIns As String On Error GoTo fin Application.DisplayAlerts = False nbF = Sheets.Count nuFIns = InputBox("supprimer feuille n° ", , prefixe) Sheets(nuFIns).Delete For nuF = 1 To nbF - 1 Sheets(nuF).Name = prefixe & LTrim(Str(nuF)) Sheets(nuF).Range(CellNomF).Value = Sheets(nuF).Name Next nuF Application.DisplayAlerts = True fin: End Sub
bonne suite
Par contre connais tu une macro, afin de faire la meme chose mais cette fois le numéro de page se trouve dans une cellule A1 pour la page n°1, n°2...
De plus, comment faire pour que les feuilles se renomme automatiquement après la suppression de l'une d'entre elles? ( je supprime la feuille "IS N°2", donc la 3 devient la n°2, la 4 la n°3....)
Merci pour ton aide