copier et nommer onglets selon plusieurs selections
2 réponses
gilles
Bonjour à tous,
ci dessous un code qui, à partir de l'onglet "recap"
- examine les cellules qui comporte un X dans une selection
- active l'onglet "vierge" et le recopie,
- le renomme vierge & le contenu d'une cellule de "recap"
- saisit l'onglet ajouté et ajoute en A4 le contenu la cellule de "recap"
Après l'onglet "vierge", j'utilise le même code pour beaucoup d'autres
onglets et j'aimerais creer des variables pour simplifier sinon je dois
recopier ce code pour les 26 onglets
(ex: renommer les onglets ajoutés (pour le moment Name est lié à "vierge")
Sub essai()
On Error Resume Next
Dim Name As String
Sheets("recap").Select
Range("F6:X6").Select
For Each cell In Selection
If cell <> "" Then
Sheets("vierge").Copy After:=Sheets("vierge")
cell.Offset(-3, 0).Copy Sheets("vierge (2)").Range("A4").Offset(0, 0)
Name = "vierge" & cell.Offset(-3, 0).Value 'ça marche - définit le nom de la
feuille
ActiveSheet.Name = (Name)
End If
Next cell
Application.ScreenUpdating = False
End Sub
Merci aux puissants vbatistes qui voudront bien consacrer un ppeu de leur
temps précieux...
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
Bonjour à tous, ci dessous un code qui, à partir de l'onglet "recap" - examine les cellules qui comporte un X dans une selection - active l'onglet "vierge" et le recopie, - le renomme vierge & le contenu d'une cellule de "recap" - saisit l'onglet ajouté et ajoute en A4 le contenu la cellule de "recap" Après l'onglet "vierge", j'utilise le même code pour beaucoup d'autres onglets et j'aimerais creer des variables pour simplifier sinon je dois recopier ce code pour les 26 onglets (ex: renommer les onglets ajoutés (pour le moment Name est lié à "vierge")
Sub essai() On Error Resume Next Dim Name As String Sheets("recap").Select Range("F6:X6").Select For Each cell In Selection If cell <> "" Then Sheets("vierge").Copy After:=Sheets("vierge") cell.Offset(-3, 0).Copy Sheets("vierge (2)").Range("A4").Offset(0, 0) Name = "vierge" & cell.Offset(-3, 0).Value 'ça marche - définit le nom de la feuille ActiveSheet.Name = (Name) End If Next cell Application.ScreenUpdating = False End Sub
Merci aux puissants vbatistes qui voudront bien consacrer un ppeu de leur temps précieux... Gilles
Bonjour à tous,
ci dessous un code qui, à partir de l'onglet "recap"
- examine les cellules qui comporte un X dans une selection
- active l'onglet "vierge" et le recopie,
- le renomme vierge & le contenu d'une cellule de "recap"
- saisit l'onglet ajouté et ajoute en A4 le contenu la cellule de "recap"
Après l'onglet "vierge", j'utilise le même code pour beaucoup d'autres
onglets et j'aimerais creer des variables pour simplifier sinon je dois
recopier ce code pour les 26 onglets
(ex: renommer les onglets ajoutés (pour le moment Name est lié à "vierge")
Sub essai()
On Error Resume Next
Dim Name As String
Sheets("recap").Select
Range("F6:X6").Select
For Each cell In Selection
If cell <> "" Then
Sheets("vierge").Copy After:=Sheets("vierge")
cell.Offset(-3, 0).Copy Sheets("vierge (2)").Range("A4").Offset(0, 0)
Name = "vierge" & cell.Offset(-3, 0).Value 'ça marche - définit le nom de la
feuille
ActiveSheet.Name = (Name)
End If
Next cell
Application.ScreenUpdating = False
End Sub
Merci aux puissants vbatistes qui voudront bien consacrer un ppeu de leur
temps précieux...
Gilles
Bonjour à tous, ci dessous un code qui, à partir de l'onglet "recap" - examine les cellules qui comporte un X dans une selection - active l'onglet "vierge" et le recopie, - le renomme vierge & le contenu d'une cellule de "recap" - saisit l'onglet ajouté et ajoute en A4 le contenu la cellule de "recap" Après l'onglet "vierge", j'utilise le même code pour beaucoup d'autres onglets et j'aimerais creer des variables pour simplifier sinon je dois recopier ce code pour les 26 onglets (ex: renommer les onglets ajoutés (pour le moment Name est lié à "vierge")
Sub essai() On Error Resume Next Dim Name As String Sheets("recap").Select Range("F6:X6").Select For Each cell In Selection If cell <> "" Then Sheets("vierge").Copy After:=Sheets("vierge") cell.Offset(-3, 0).Copy Sheets("vierge (2)").Range("A4").Offset(0, 0) Name = "vierge" & cell.Offset(-3, 0).Value 'ça marche - définit le nom de la feuille ActiveSheet.Name = (Name) End If Next cell Application.ScreenUpdating = False End Sub
Merci aux puissants vbatistes qui voudront bien consacrer un ppeu de leur temps précieux... Gilles
gilles
Merci Isabelle, ça me va bien...
-- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
"gilles" a écrit :
Bonjour à tous, ci dessous un code qui, à partir de l'onglet "recap" - examine les cellules qui comporte un X dans une selection - active l'onglet "vierge" et le recopie, - le renomme vierge & le contenu d'une cellule de "recap" - saisit l'onglet ajouté et ajoute en A4 le contenu la cellule de "recap" Après l'onglet "vierge", j'utilise le même code pour beaucoup d'autres onglets et j'aimerais creer des variables pour simplifier sinon je dois recopier ce code pour les 26 onglets (ex: renommer les onglets ajoutés (pour le moment Name est lié à "vierge")
Sub essai() On Error Resume Next Dim Name As String Sheets("recap").Select Range("F6:X6").Select For Each cell In Selection If cell <> "" Then Sheets("vierge").Copy After:=Sheets("vierge") cell.Offset(-3, 0).Copy Sheets("vierge (2)").Range("A4").Offset(0, 0) Name = "vierge" & cell.Offset(-3, 0).Value 'ça marche - définit le nom de la feuille ActiveSheet.Name = (Name) End If Next cell Application.ScreenUpdating = False End Sub
Merci aux puissants vbatistes qui voudront bien consacrer un ppeu de leur temps précieux... Gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Merci Isabelle,
ça me va bien...
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
"gilles" a écrit :
Bonjour à tous,
ci dessous un code qui, à partir de l'onglet "recap"
- examine les cellules qui comporte un X dans une selection
- active l'onglet "vierge" et le recopie,
- le renomme vierge & le contenu d'une cellule de "recap"
- saisit l'onglet ajouté et ajoute en A4 le contenu la cellule de "recap"
Après l'onglet "vierge", j'utilise le même code pour beaucoup d'autres
onglets et j'aimerais creer des variables pour simplifier sinon je dois
recopier ce code pour les 26 onglets
(ex: renommer les onglets ajoutés (pour le moment Name est lié à "vierge")
Sub essai()
On Error Resume Next
Dim Name As String
Sheets("recap").Select
Range("F6:X6").Select
For Each cell In Selection
If cell <> "" Then
Sheets("vierge").Copy After:=Sheets("vierge")
cell.Offset(-3, 0).Copy Sheets("vierge (2)").Range("A4").Offset(0, 0)
Name = "vierge" & cell.Offset(-3, 0).Value 'ça marche - définit le nom de la
feuille
ActiveSheet.Name = (Name)
End If
Next cell
Application.ScreenUpdating = False
End Sub
Merci aux puissants vbatistes qui voudront bien consacrer un ppeu de leur
temps précieux...
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
-- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
"gilles" a écrit :
Bonjour à tous, ci dessous un code qui, à partir de l'onglet "recap" - examine les cellules qui comporte un X dans une selection - active l'onglet "vierge" et le recopie, - le renomme vierge & le contenu d'une cellule de "recap" - saisit l'onglet ajouté et ajoute en A4 le contenu la cellule de "recap" Après l'onglet "vierge", j'utilise le même code pour beaucoup d'autres onglets et j'aimerais creer des variables pour simplifier sinon je dois recopier ce code pour les 26 onglets (ex: renommer les onglets ajoutés (pour le moment Name est lié à "vierge")
Sub essai() On Error Resume Next Dim Name As String Sheets("recap").Select Range("F6:X6").Select For Each cell In Selection If cell <> "" Then Sheets("vierge").Copy After:=Sheets("vierge") cell.Offset(-3, 0).Copy Sheets("vierge (2)").Range("A4").Offset(0, 0) Name = "vierge" & cell.Offset(-3, 0).Value 'ça marche - définit le nom de la feuille ActiveSheet.Name = (Name) End If Next cell Application.ScreenUpdating = False End Sub
Merci aux puissants vbatistes qui voudront bien consacrer un ppeu de leur temps précieux... Gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...