Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

aide qui peut completer mon code vba

3 réponses
Avatar
damien
voici un code qui marche tres bien
quand je rentre ce code dans la feuille 1
et que je saisie "dede" dans la cellule a1, il me renomme mon onglet 2 en
ded

jusqu'a la tout va bien :-)

voici le code


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rRange As Range
Set rRange = Range("A1")
If Not Intersect(Target, rRange) Is Nothing Then
Worksheets(2).name = rRange.Text
End If
End Sub


question : qui peut me completer le code
je souhaite dans ce code
que :
en colonne a2 je saisie "dada" et c est la feuille 3 qui est rennomé
en colonne a3 je saisie "didi" et c est la feuille 4 qui est est renomé et
aisni de suite merci !!!!!!!!!!!!!!!!!!!!!!!

3 réponses

Avatar
Ardus Petus
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rRange As Range
Set rRange = Intersect(Target, Range("A1:A3"))
On Error GoTo errhandler
If Not rRange Is Nothing Then
If Not Intersect(rRange, Range("A1")) Is Nothing Then _
Worksheets(2).Name = Range("A1").Text
If Not Intersect(rRange, Range("A2")) Is Nothing Then _
Worksheets(3).Name = Range("A2").Text
If Not Intersect(rRange, Range("A3")) Is Nothing Then _
Worksheets(4).Name = Range("A3").Text
End If
Exit Sub

errhandler:
MsgBox Err.Description
End Sub


HTH
--
AP

"damien" a écrit dans le message de news:
44702477$0$7046$
voici un code qui marche tres bien
quand je rentre ce code dans la feuille 1
et que je saisie "dede" dans la cellule a1, il me renomme mon onglet 2 en
ded

jusqu'a la tout va bien :-)

voici le code


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rRange As Range
Set rRange = Range("A1")
If Not Intersect(Target, rRange) Is Nothing Then
Worksheets(2).name = rRange.Text
End If
End Sub


question : qui peut me completer le code
je souhaite dans ce code
que :
en colonne a2 je saisie "dada" et c est la feuille 3 qui est rennomé
en colonne a3 je saisie "didi" et c est la feuille 4 qui est est renomé
et aisni de suite merci !!!!!!!!!!!!!!!!!!!!!!!



Avatar
lSteph
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
'Nomme selon A et ajoute le cas échéant les feuilles
Dim iSect As Range, c As Range
Set iSect = Intersect(Target, [A:A])
If Not iSect Is Nothing Then
Application.ScreenUpdating = False
For Each c In iSect.Cells
If IsEmpty(c) Then Exit Sub
If c.Row > Sheets.Count Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = c
Sheets(1).Activate
Else
Sheets(c.Row).Name = c
End If
Next
iSect.Cells(iSect.Cells.Count).Offset(1, 0).Select
Application.ScreenUpdating = True
End If
End Sub

'lSteph

"damien" a écrit dans le message de news:
44702477$0$7046$
voici un code qui marche tres bien
quand je rentre ce code dans la feuille 1
et que je saisie "dede" dans la cellule a1, il me renomme mon onglet 2 en
ded

jusqu'a la tout va bien :-)

voici le code


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rRange As Range
Set rRange = Range("A1")
If Not Intersect(Target, rRange) Is Nothing Then
Worksheets(2).name = rRange.Text
End If
End Sub


question : qui peut me completer le code
je souhaite dans ce code
que :
en colonne a2 je saisie "dada" et c est la feuille 3 qui est rennomé
en colonne a3 je saisie "didi" et c est la feuille 4 qui est est renomé
et aisni de suite merci !!!!!!!!!!!!!!!!!!!!!!!



Avatar
Ange Ounis
Une autre option possible :

''''''''''''''''''''''''
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sht As Worksheet
If Target.Column > 1 Then Exit Sub
If Sheets.Count < Target.Row + 1 Then Exit Sub
If Target.Text = "" Then Exit Sub
On Error Resume Next
Set Sht = Worksheets(Target.Text)
On Error GoTo 0
Application.EnableEvents = False
If Not Sht Is Nothing Then
Target.Value = "Feuil" & CStr(Target.Row + 1)
Worksheets(Target.Row + 1).Name = Target.Text
Else
Worksheets(Target.Row + 1).Name = Target.Text
End If
Application.EnableEvents = True
End Sub
''''''''''''''''''''''''

----------
Ange Ounis
----------

voici un code qui marche tres bien
quand je rentre ce code dans la feuille 1
et que je saisie "dede" dans la cellule a1, il me renomme mon onglet 2 en
ded

jusqu'a la tout va bien :-)

voici le code


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rRange As Range
Set rRange = Range("A1")
If Not Intersect(Target, rRange) Is Nothing Then
Worksheets(2).name = rRange.Text
End If
End Sub


question : qui peut me completer le code
je souhaite dans ce code
que :
en colonne a2 je saisie "dada" et c est la feuille 3 qui est rennomé
en colonne a3 je saisie "didi" et c est la feuille 4 qui est est renomé et
aisni de suite merci !!!!!!!!!!!!!!!!!!!!!!!