Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la création
de
la feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:endk%Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuillecréee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
lacellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserverque les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la création
de
la feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" <scrat83@free.fr> a écrit dans le message de
news:endk%23D5XEHA.3112@tk2msftngp13.phx.gbl...
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la création
de
la feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:endk%Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuillecréee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
lacellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserverque les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille déjà
existant...
Merci tout de même
Domi
"Joel" a écrit dans le message de
news:cc1ibe$6ef$Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la création
dela feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:endk%Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuillecréee existe déja (2 lancements consécutifs de la macros par
exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers
fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu
de
lacellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserverque les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille déjà
existant...
Merci tout de même
Domi
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de
news:cc1ibe$6ef$1@news-reader1.wanadoo.fr...
Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la création
de
la feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" <scrat83@free.fr> a écrit dans le message de
news:endk%23D5XEHA.3112@tk2msftngp13.phx.gbl...
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par
exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers
fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu
de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille déjà
existant...
Merci tout de même
Domi
"Joel" a écrit dans le message de
news:cc1ibe$6ef$Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la création
dela feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:endk%Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuillecréee existe déja (2 lancements consécutifs de la macros par
exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers
fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le contenu
de
lacellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserverque les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Re-
voici donc la solution alternative :
Sub Test()
Dim oSheet As Worksheet
Dim DejaLa As Boolean
DejaLa = False
For Each oSheet In Worksheets
If oSheet.Name = Worksheets("TEST").Range("A1").Value Then
DejaLa = True
Exit For
End If
Next
If DejaLa Then
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Else
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
End If
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille
déjà
existant...
Merci tout de même
Domi
"Joel" a écrit dans le message de
news:cc1ibe$6ef$Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la
création
dela feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:endk%Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuillecréee existe déja (2 lancements consécutifs de la macros par
exemple)...Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers
findans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le
contenu
delacellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserverque les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Re-
voici donc la solution alternative :
Sub Test()
Dim oSheet As Worksheet
Dim DejaLa As Boolean
DejaLa = False
For Each oSheet In Worksheets
If oSheet.Name = Worksheets("TEST").Range("A1").Value Then
DejaLa = True
Exit For
End If
Next
If DejaLa Then
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Else
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
End If
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" <scrat83@free.fr> a écrit dans le message de
news:eFbhYU5XEHA.2360@TK2MSFTNGP10.phx.gbl...
J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille
déjà
existant...
Merci tout de même
Domi
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de
news:cc1ibe$6ef$1@news-reader1.wanadoo.fr...
Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la
création
de
la feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" <scrat83@free.fr> a écrit dans le message de
news:endk%23D5XEHA.3112@tk2msftngp13.phx.gbl...
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuille
créee existe déja (2 lancements consécutifs de la macros par
exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers
fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le
contenu
de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Re-
voici donc la solution alternative :
Sub Test()
Dim oSheet As Worksheet
Dim DejaLa As Boolean
DejaLa = False
For Each oSheet In Worksheets
If oSheet.Name = Worksheets("TEST").Range("A1").Value Then
DejaLa = True
Exit For
End If
Next
If DejaLa Then
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Else
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
End If
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille
déjà
existant...
Merci tout de même
Domi
"Joel" a écrit dans le message de
news:cc1ibe$6ef$Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la
création
dela feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:endk%Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si la
feuillecréee existe déja (2 lancements consécutifs de la macros par
exemple)...Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer vers
findans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le
contenu
delacellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserverque les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Solution testée et approuvée ;o))
Merci
Domi
"Joel" a écrit dans le message de
news:cc1m68$gfj$Re-
voici donc la solution alternative :
Sub Test()
Dim oSheet As Worksheet
Dim DejaLa As Boolean
DejaLa = False
For Each oSheet In Worksheets
If oSheet.Name = Worksheets("TEST").Range("A1").Value Then
DejaLa = True
Exit For
End If
Next
If DejaLa Then
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Else
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
End If
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille
déjàexistant...
Merci tout de même
Domi
"Joel" a écrit dans le message de
news:cc1ibe$6ef$Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la
créationdela feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:endk%Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si
la
feuillecréee existe déja (2 lancements consécutifs de la macros par
exemple)...Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer
vers
findans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le
contenudelacellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserverque les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Solution testée et approuvée ;o))
Merci
Domi
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de
news:cc1m68$gfj$1@news-reader2.wanadoo.fr...
Re-
voici donc la solution alternative :
Sub Test()
Dim oSheet As Worksheet
Dim DejaLa As Boolean
DejaLa = False
For Each oSheet In Worksheets
If oSheet.Name = Worksheets("TEST").Range("A1").Value Then
DejaLa = True
Exit For
End If
Next
If DejaLa Then
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Else
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
End If
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" <scrat83@free.fr> a écrit dans le message de
news:eFbhYU5XEHA.2360@TK2MSFTNGP10.phx.gbl...
J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille
déjà
existant...
Merci tout de même
Domi
"Joel" <joel-garbe@wanadoo.fr> a écrit dans le message de
news:cc1ibe$6ef$1@news-reader1.wanadoo.fr...
Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la
création
de
la feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" <scrat83@free.fr> a écrit dans le message de
news:endk%23D5XEHA.3112@tk2msftngp13.phx.gbl...
Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable
(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si
la
feuille
créee existe déja (2 lancements consécutifs de la macros par
exemple)...
Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer
vers
fin
dans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le
contenu
de
la
cellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver
que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi
Solution testée et approuvée ;o))
Merci
Domi
"Joel" a écrit dans le message de
news:cc1m68$gfj$Re-
voici donc la solution alternative :
Sub Test()
Dim oSheet As Worksheet
Dim DejaLa As Boolean
DejaLa = False
For Each oSheet In Worksheets
If oSheet.Name = Worksheets("TEST").Range("A1").Value Then
DejaLa = True
Exit For
End If
Next
If DejaLa Then
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Else
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
End If
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:J'avais pensé à cette solution mais elle ne me plait pas beaucoup, je
préférerais plutôt être sûr que le pb vient bien d'un nom de feuille
déjàexistant...
Merci tout de même
Domi
"Joel" a écrit dans le message de
news:cc1ibe$6ef$Bonsoir,
le plus efficace (maisira sur fin si une autre cause empêche la
créationdela feuille
Sub Text()
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
On Error GoTo fin
ActiveSheet.Name = Worksheets("TEST").[A1]
On Error GoTo 0
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserver'que les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
Exit Sub
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" a écrit dans le message de
news:endk%Bonsoir,
Je voudrais faire une copie de feuille en lui attribuant un nom
variable(contenu de la cellule A1)
J'ai réussi à bidouiller ce petit bout de code mais ça coince si
la
feuillecréee existe déja (2 lancements consécutifs de la macros par
exemple)...Quelqu'un pourrait-il compléter ma macro de façon à me renvoyer
vers
findans ce cas.
'Crée une copie de la feuille TEST en lui donnant pour nom le
contenudelacellule A1
Sheets("TEST").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("TEST").[A1]
'Supprime de la nouvelle feuille crée toutes les formules pour ne
conserverque les valeurs
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
End With
fin:
MsgBox "Impossible, la feuille existe déjà avec ce n° !"
End Sub
Merci
Domi