Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très pénible
de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très pénible
de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très pénible
de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour J@@,
Quelque chose comme ce qui suit ?
Attention aux coupures de lignes !
@+
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour J@@,
Quelque chose comme ce qui suit ?
Attention aux coupures de lignes !
@+
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour J@@,
Quelque chose comme ce qui suit ?
Attention aux coupures de lignes !
@+
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
qui ne fait rien
Ne fait rien ou génère une erreur ?
Bonjour FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
merci
@+
J@@Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour J@@,
Quelque chose comme ce qui suit ?
Attention aux coupures de lignes !
@+
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
qui ne fait rien
Ne fait rien ou génère une erreur ?
Bonjour FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
merci
@+
J@@
Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour J@@,
Quelque chose comme ce qui suit ?
Attention aux coupures de lignes !
@+
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
qui ne fait rien
Ne fait rien ou génère une erreur ?
Bonjour FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
merci
@+
J@@Bonjour à tous
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
merci pour l'aide
@+
J@@
Bonjour J@@,
Quelque chose comme ce qui suit ?
Attention aux coupures de lignes !
@+
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui de
la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel, tu
devrais pouvoir constater que le nom (...500) avant est devenu (...600)
après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour J@@ (bonsoir pour toi),
qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui de
la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel, tu
devrais pouvoir constater que le nom (...500) avant est devenu (...600)
après.
@+
FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui de
la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel, tu
devrais pouvoir constater que le nom (...500) avant est devenu (...600)
après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer une
feuille, tout copier dedans, traiter chaque ligne, mais sans agir sur
chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui
de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel,
tu devrais pouvoir constater que le nom (...500) avant est devenu
(...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer une
feuille, tout copier dedans, traiter chaque ligne, mais sans agir sur
chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@
Bonjour J@@ (bonsoir pour toi),
qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui
de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel,
tu devrais pouvoir constater que le nom (...500) avant est devenu
(...600) après.
@+
FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer une
feuille, tout copier dedans, traiter chaque ligne, mais sans agir sur
chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui
de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel,
tu devrais pouvoir constater que le nom (...500) avant est devenu
(...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxMBonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans agir
sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui
de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel,
tu devrais pouvoir constater que le nom (...500) avant est devenu
(...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxM
Bonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans agir
sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@
Bonjour J@@ (bonsoir pour toi),
qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui
de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel,
tu devrais pouvoir constater que le nom (...500) avant est devenu
(...600) après.
@+
FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxMBonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans agir
sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par celui
de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir d'Excel,
tu devrais pouvoir constater que le nom (...500) avant est devenu
(...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxMBonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans agir
sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant est
devenu (...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:
Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxM
Bonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans agir
sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@
Bonjour J@@ (bonsoir pour toi),
qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant est
devenu (...600) après.
@+
FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxMBonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans agir
sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant est
devenu (...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
n'est-ce pas ?
Oui, quand même, j'étais à jeun ;-)
Bonsoir J@@,
dans laquelle tu auras remplacé ' <at> ' par @ et ' <dot> ' par .
n'est-ce pas ?
@+
FxMBonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxMBonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans
agir sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant est
devenu (...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
n'est-ce pas ?
Oui, quand même, j'étais à jeun ;-)
Bonsoir J@@,
dans laquelle tu auras remplacé ' <at> ' par @ et ' <dot> ' par .
n'est-ce pas ?
@+
FxM
Bonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:
Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxM
Bonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans
agir sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@
Bonjour J@@ (bonsoir pour toi),
qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant est
devenu (...600) après.
@+
FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
n'est-ce pas ?
Oui, quand même, j'étais à jeun ;-)
Bonsoir J@@,
dans laquelle tu auras remplacé ' <at> ' par @ et ' <dot> ' par .
n'est-ce pas ?
@+
FxMBonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxMBonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans
agir sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant est
devenu (...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxMn'est-ce pas ?
Oui, quand même, j'étais à jeun ;-)
Mais le message a été refoulé
----- The following addresses had permanent delivery errors -----
OK faute de ma part, manque le s :-<
je recommence
ça y est, c'est parti, ne te mets pas en face de la prise de téléphone!
@+
J@@Bonsoir J@@,
dans laquelle tu auras remplacé ' <at> ' par @ et ' <dot> ' par .
n'est-ce pas ?
@+
FxMBonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxMBonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans
agir sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant
est devenu (...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxM
n'est-ce pas ?
Oui, quand même, j'étais à jeun ;-)
Mais le message a été refoulé
----- The following addresses had permanent delivery errors -----
<spamtrap@cetouvert.net>
OK faute de ma part, manque le s :-<
je recommence
ça y est, c'est parti, ne te mets pas en face de la prise de téléphone!
@+
J@@
Bonsoir J@@,
dans laquelle tu auras remplacé ' <at> ' par @ et ' <dot> ' par .
n'est-ce pas ?
@+
FxM
Bonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:
Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxM
Bonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans
agir sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@
Bonjour J@@ (bonsoir pour toi),
qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant
est devenu (...600) après.
@+
FxM
tout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?
J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Bonjour FxMn'est-ce pas ?
Oui, quand même, j'étais à jeun ;-)
Mais le message a été refoulé
----- The following addresses had permanent delivery errors -----
OK faute de ma part, manque le s :-<
je recommence
ça y est, c'est parti, ne te mets pas en face de la prise de téléphone!
@+
J@@Bonsoir J@@,
dans laquelle tu auras remplacé ' <at> ' par @ et ' <dot> ' par .
n'est-ce pas ?
@+
FxMBonjour FxM
c'est pari, sur ta drôle d'adresse ;-)
@+
J@@
FxM wrote:Bonjour J@@,
Pourrais-tu m'envoyer ton document ? J'aimerais y jeter un oeil.
spamtrap <at> cestouvert <dot> net
@+
FxMBonjour FxM
non non pas d'erreur, la ligne ne fait rien, on voit la macro créer
une feuille, tout copier dedans, traiter chaque ligne, mais sans
agir sur chacune : pas de remplacement.
Ne me dis pas que c'est mon FAI (comme me dit Misange ;-) pour ma
connection)
Et j'ai testé sans modifier le code.
Que se passe-t-il???
merci à toi
@+
J@@Bonjour J@@ (bonsoir pour toi),qui ne fait rien
Ne fait rien ou génère une erreur ?
La fonction de cette ligne est de remplacer le nom existant par
celui de la zone étendue.
En mode pas-à-pas et via les menus insertion - nom - définir
d'Excel, tu devrais pouvoir constater que le nom (...500) avant
est devenu (...600) après.
@+
FxMtout fonctionne au pas à pas, sauf cette ligne qui ne fait rien :
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
que faire?J'ai une ribambelle de zones nommées, genre A5:A500, c'est très
pénible de toutes les modifier à la main.
Comment faire, par exemple, pour remplacer 500 par 600 ?
FxM
Sub test2()
Dim ligold, lignew, derlig, cel
'ancienne extension
ligold = 500
'nouvelle extension
lignew = 600
'ajouter une feuille et la nommer
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "zaza"
With Sheets("zaza")
'lister les noms contenus dans le classeur
.Range("A1").ListNames
'dernière ligne de la feuille
derlig = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
'parcourir la liste
For Each cel In .Range("B1:B" & derlig)
'si le nom se termine par ligold
If Right(cel, Len(ligold)) = ligold Then
'effectuer le remplacement
cel = Left(cel, Len(cel) - Len(ligold)) & lignew
'ef réaffecter le nom à la nouvelle zone
ActiveWorkbook.Names.Add Name:Îl.Offset(0, -1), RefersTo:Îl
End If
Next cel
'détruire la feuille
Application.DisplayAlerts = False
.Delete
Application.DisplayAlerts = True
End With
End Sub
Argghhh, l'adresse en clair !!! Y'a un robot qui ne va pas chômer :o(
)
Mais le message a été refoulé
----- The following addresses had permanent delivery errors -----
Argghhh, l'adresse en clair !!! Y'a un robot qui ne va pas chômer :o(
)
Mais le message a été refoulé
----- The following addresses had permanent delivery errors -----
Argghhh, l'adresse en clair !!! Y'a un robot qui ne va pas chômer :o(
)
Mais le message a été refoulé
----- The following addresses had permanent delivery errors -----