Bonjour à toutes et à tous,
Tout d'abord un grand Merci à MPO pour son aide (et aux autres aussi..).
Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
saisi
une ligne sur cette feuille (feuil1), serait-il possible qu'en même temps
(ou en différé), ma ligne soit intégralement recopiée sur une autre
feuille
portant le nom saisi.
En vous remerciant par avance
Michel69
Bonjour à toutes et à tous,
Tout d'abord un grand Merci à MPO pour son aide (et aux autres aussi..).
Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
saisi
une ligne sur cette feuille (feuil1), serait-il possible qu'en même temps
(ou en différé), ma ligne soit intégralement recopiée sur une autre
feuille
portant le nom saisi.
En vous remerciant par avance
Michel69
Bonjour à toutes et à tous,
Tout d'abord un grand Merci à MPO pour son aide (et aux autres aussi..).
Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
saisi
une ligne sur cette feuille (feuil1), serait-il possible qu'en même temps
(ou en différé), ma ligne soit intégralement recopiée sur une autre
feuille
portant le nom saisi.
En vous remerciant par avance
Michel69
Salut,
juste une question : La ligne doit être recopiée dans une feuille déjà
existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul ?
OK, ça fait 2 questions ;o))
CAP2
"Michel69" a écrit dans le message de
news:
> Bonjour à toutes et à tous,
> Tout d'abord un grand Merci à MPO pour son aide (et aux autres aussi..).
> Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> saisi
> une ligne sur cette feuille (feuil1), serait-il possible qu'en même temps
> (ou en différé), ma ligne soit intégralement recopiée sur une autre
> feuille
> portant le nom saisi.
> En vous remerciant par avance
> Michel69
Salut,
juste une question : La ligne doit être recopiée dans une feuille déjà
existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul ?
OK, ça fait 2 questions ;o))
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message de
news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
> Bonjour à toutes et à tous,
> Tout d'abord un grand Merci à MPO pour son aide (et aux autres aussi..).
> Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> saisi
> une ligne sur cette feuille (feuil1), serait-il possible qu'en même temps
> (ou en différé), ma ligne soit intégralement recopiée sur une autre
> feuille
> portant le nom saisi.
> En vous remerciant par avance
> Michel69
Salut,
juste une question : La ligne doit être recopiée dans une feuille déjà
existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul ?
OK, ça fait 2 questions ;o))
CAP2
"Michel69" a écrit dans le message de
news:
> Bonjour à toutes et à tous,
> Tout d'abord un grand Merci à MPO pour son aide (et aux autres aussi..).
> Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> saisi
> une ligne sur cette feuille (feuil1), serait-il possible qu'en même temps
> (ou en différé), ma ligne soit intégralement recopiée sur une autre
> feuille
> portant le nom saisi.
> En vous remerciant par avance
> Michel69
Bonjour CAP2,
Merci pour ton aide.
En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
et
il faut le créer dans la foulée puis écrire la ligne...
Michel69
"CAP2" a écrit :Salut,
juste une question : La ligne doit être recopiée dans une feuille déjà
existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
?
OK, ça fait 2 questions ;o))
CAP2
"Michel69" a écrit dans le message
de
news:
> Bonjour à toutes et à tous,
> Tout d'abord un grand Merci à MPO pour son aide (et aux autres
> aussi..).
> Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> saisi
> une ligne sur cette feuille (feuil1), serait-il possible qu'en même
> temps
> (ou en différé), ma ligne soit intégralement recopiée sur une autre
> feuille
> portant le nom saisi.
> En vous remerciant par avance
> Michel69
Bonjour CAP2,
Merci pour ton aide.
En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
et
il faut le créer dans la foulée puis écrire la ligne...
Michel69
"CAP2" a écrit :
Salut,
juste une question : La ligne doit être recopiée dans une feuille déjà
existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
?
OK, ça fait 2 questions ;o))
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
de
news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
> Bonjour à toutes et à tous,
> Tout d'abord un grand Merci à MPO pour son aide (et aux autres
> aussi..).
> Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> saisi
> une ligne sur cette feuille (feuil1), serait-il possible qu'en même
> temps
> (ou en différé), ma ligne soit intégralement recopiée sur une autre
> feuille
> portant le nom saisi.
> En vous remerciant par avance
> Michel69
Bonjour CAP2,
Merci pour ton aide.
En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
et
il faut le créer dans la foulée puis écrire la ligne...
Michel69
"CAP2" a écrit :Salut,
juste une question : La ligne doit être recopiée dans une feuille déjà
existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
?
OK, ça fait 2 questions ;o))
CAP2
"Michel69" a écrit dans le message
de
news:
> Bonjour à toutes et à tous,
> Tout d'abord un grand Merci à MPO pour son aide (et aux autres
> aussi..).
> Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> saisi
> une ligne sur cette feuille (feuil1), serait-il possible qu'en même
> temps
> (ou en différé), ma ligne soit intégralement recopiée sur une autre
> feuille
> portant le nom saisi.
> En vous remerciant par avance
> Michel69
Salut,
je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message de
news:
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" a écrit dans le message
>> de
>> news:
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
Salut,
je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message de
news: 0427DF14-CCC4-4D4E-8F63-064E75CBD747@microsoft.com...
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
>> de
>> news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
Salut,
je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message de
news:
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" a écrit dans le message
>> de
>> news:
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
(Re) CAP2,
J'ai recopié ton code dans un module standard et je l'ai placé derrière un
bouton. Je saisi un nom puis quand je clique sur le bouton il se plante sur :
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Cordialement
Michel
"CAP2" a écrit :
> Salut,
>
> je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
> donc à chaque nouvelle saisie, tu déclenches la macro)
>
> Sub Michel()
> Dim i As Integer
> Dim existe As Boolean
> Dim nom As String
>
> Application.ScreenUpdating = False
>
> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>
> For i = 1 To Sheets.Count
> If Sheets(i).Name = nom Then
> existe = True
> End If
> Next
>
> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
> Selection.Copy
>
> If existe = True Then
> Worksheets(nom).Select
> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
> ActiveSheet.Paste
> ActiveSheet.Range("A1").Select
> Else
>
> Sheets.Add
> ActiveSheet.Name = nom
> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
> ActiveSheet.Paste
> ActiveSheet.Range("A1").Select
> End If
>
> Worksheets("Feuil1").Select
> ActiveSheet.Range("A1").Select
>
> Application.CutCopyMode = False
>
> Application.ScreenUpdating = True
>
> End Sub
>
> Ca marche ?
>
> CAP2
>
> "Michel69" a écrit dans le message de
> news:
> > Bonjour CAP2,
> > Merci pour ton aide.
> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> > et
> > il faut le créer dans la foulée puis écrire la ligne...
> > Michel69
> >
> > "CAP2" a écrit :
> >
> >> Salut,
> >>
> >> juste une question : La ligne doit être recopiée dans une feuille déjà
> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
> >>
> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
> >> ?
> >>
> >> OK, ça fait 2 questions ;o))
> >>
> >> CAP2
> >>
> >> "Michel69" a écrit dans le message
> >> de
> >> news:
> >> > Bonjour à toutes et à tous,
> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
> >> > aussi..).
> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> >> > saisi
> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
> >> > temps
> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
> >> > feuille
> >> > portant le nom saisi.
> >> > En vous remerciant par avance
> >> > Michel69
> >>
> >>
> >>
>
>
>
(Re) CAP2,
J'ai recopié ton code dans un module standard et je l'ai placé derrière un
bouton. Je saisi un nom puis quand je clique sur le bouton il se plante sur :
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Cordialement
Michel
"CAP2" a écrit :
> Salut,
>
> je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
> donc à chaque nouvelle saisie, tu déclenches la macro)
>
> Sub Michel()
> Dim i As Integer
> Dim existe As Boolean
> Dim nom As String
>
> Application.ScreenUpdating = False
>
> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>
> For i = 1 To Sheets.Count
> If Sheets(i).Name = nom Then
> existe = True
> End If
> Next
>
> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
> Selection.Copy
>
> If existe = True Then
> Worksheets(nom).Select
> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
> ActiveSheet.Paste
> ActiveSheet.Range("A1").Select
> Else
>
> Sheets.Add
> ActiveSheet.Name = nom
> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
> ActiveSheet.Paste
> ActiveSheet.Range("A1").Select
> End If
>
> Worksheets("Feuil1").Select
> ActiveSheet.Range("A1").Select
>
> Application.CutCopyMode = False
>
> Application.ScreenUpdating = True
>
> End Sub
>
> Ca marche ?
>
> CAP2
>
> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message de
> news: 0427DF14-CCC4-4D4E-8F63-064E75CBD747@microsoft.com...
> > Bonjour CAP2,
> > Merci pour ton aide.
> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> > et
> > il faut le créer dans la foulée puis écrire la ligne...
> > Michel69
> >
> > "CAP2" a écrit :
> >
> >> Salut,
> >>
> >> juste une question : La ligne doit être recopiée dans une feuille déjà
> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
> >>
> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
> >> ?
> >>
> >> OK, ça fait 2 questions ;o))
> >>
> >> CAP2
> >>
> >> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
> >> de
> >> news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
> >> > Bonjour à toutes et à tous,
> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
> >> > aussi..).
> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> >> > saisi
> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
> >> > temps
> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
> >> > feuille
> >> > portant le nom saisi.
> >> > En vous remerciant par avance
> >> > Michel69
> >>
> >>
> >>
>
>
>
(Re) CAP2,
J'ai recopié ton code dans un module standard et je l'ai placé derrière un
bouton. Je saisi un nom puis quand je clique sur le bouton il se plante sur :
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Cordialement
Michel
"CAP2" a écrit :
> Salut,
>
> je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
> donc à chaque nouvelle saisie, tu déclenches la macro)
>
> Sub Michel()
> Dim i As Integer
> Dim existe As Boolean
> Dim nom As String
>
> Application.ScreenUpdating = False
>
> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>
> For i = 1 To Sheets.Count
> If Sheets(i).Name = nom Then
> existe = True
> End If
> Next
>
> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
> Selection.Copy
>
> If existe = True Then
> Worksheets(nom).Select
> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
> ActiveSheet.Paste
> ActiveSheet.Range("A1").Select
> Else
>
> Sheets.Add
> ActiveSheet.Name = nom
> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
> ActiveSheet.Paste
> ActiveSheet.Range("A1").Select
> End If
>
> Worksheets("Feuil1").Select
> ActiveSheet.Range("A1").Select
>
> Application.CutCopyMode = False
>
> Application.ScreenUpdating = True
>
> End Sub
>
> Ca marche ?
>
> CAP2
>
> "Michel69" a écrit dans le message de
> news:
> > Bonjour CAP2,
> > Merci pour ton aide.
> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> > et
> > il faut le créer dans la foulée puis écrire la ligne...
> > Michel69
> >
> > "CAP2" a écrit :
> >
> >> Salut,
> >>
> >> juste une question : La ligne doit être recopiée dans une feuille déjà
> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
> >>
> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
> >> ?
> >>
> >> OK, ça fait 2 questions ;o))
> >>
> >> CAP2
> >>
> >> "Michel69" a écrit dans le message
> >> de
> >> news:
> >> > Bonjour à toutes et à tous,
> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
> >> > aussi..).
> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
> >> > saisi
> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
> >> > temps
> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
> >> > feuille
> >> > portant le nom saisi.
> >> > En vous remerciant par avance
> >> > Michel69
> >>
> >>
> >>
>
>
>
(Re) CAP2,
J'ai recopié ton code dans un module standard et je l'ai placé derrière un
bouton. Je saisi un nom puis quand je clique sur le bouton il se plante
sur :
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Cordialement
Michel
"CAP2" a écrit :Salut,
je te propose une macro que tu déclenches dès que tu as saisi une
nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message
de
news:
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
> et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe
> pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" a écrit dans le
>> message
>> de
>> news:
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> > je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
(Re) CAP2,
J'ai recopié ton code dans un module standard et je l'ai placé derrière un
bouton. Je saisi un nom puis quand je clique sur le bouton il se plante
sur :
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Cordialement
Michel
"CAP2" a écrit :
Salut,
je te propose une macro que tu déclenches dès que tu as saisi une
nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
de
news: 0427DF14-CCC4-4D4E-8F63-064E75CBD747@microsoft.com...
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
> et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe
> pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le
>> message
>> de
>> news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> > je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
(Re) CAP2,
J'ai recopié ton code dans un module standard et je l'ai placé derrière un
bouton. Je saisi un nom puis quand je clique sur le bouton il se plante
sur :
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Cordialement
Michel
"CAP2" a écrit :Salut,
je te propose une macro que tu déclenches dès que tu as saisi une
nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message
de
news:
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
> et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe
> pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" a écrit dans le
>> message
>> de
>> news:
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> > je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
(Re)Salut,
ta feuille de saisie s'appelle-t-elle bien Feuil1 ?
Si oui, le problème ne vient pas de là. Tente de remplacer cette ligne par :
Worksheets("Feuil1").Select
Activesheet.Range("A65536").End(xlUp).EntireRow.Select
Ca marche mieux ?
CAP2
"Michel69" a écrit dans le message de
news:
> (Re) CAP2,
> J'ai recopié ton code dans un module standard et je l'ai placé derrière un
> bouton. Je saisi un nom puis quand je clique sur le bouton il se plante
> sur :
> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
> Cordialement
> Michel
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> je te propose une macro que tu déclenches dès que tu as saisi une
>> nouvelle
>> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
>> donc à chaque nouvelle saisie, tu déclenches la macro)
>>
>> Sub Michel()
>> Dim i As Integer
>> Dim existe As Boolean
>> Dim nom As String
>>
>> Application.ScreenUpdating = False
>>
>> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>>
>> For i = 1 To Sheets.Count
>> If Sheets(i).Name = nom Then
>> existe = True
>> End If
>> Next
>>
>> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
>> Selection.Copy
>>
>> If existe = True Then
>> Worksheets(nom).Select
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> Else
>>
>> Sheets.Add
>> ActiveSheet.Name = nom
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> End If
>>
>> Worksheets("Feuil1").Select
>> ActiveSheet.Range("A1").Select
>>
>> Application.CutCopyMode = False
>>
>> Application.ScreenUpdating = True
>>
>> End Sub
>>
>> Ca marche ?
>>
>> CAP2
>>
>> "Michel69" a écrit dans le message
>> de
>> news:
>> > Bonjour CAP2,
>> > Merci pour ton aide.
>> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
>> > et
>> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe
>> > pas
>> > et
>> > il faut le créer dans la foulée puis écrire la ligne...
>> > Michel69
>> >
>> > "CAP2" a écrit :
>> >
>> >> Salut,
>> >>
>> >> juste une question : La ligne doit être recopiée dans une feuille déjà
>> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> >> ?
>> >>
>> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> >> calcul
>> >> ?
>> >>
>> >> OK, ça fait 2 questions ;o))
>> >>
>> >> CAP2
>> >>
>> >> "Michel69" a écrit dans le
>> >> message
>> >> de
>> >> news:
>> >> > Bonjour à toutes et à tous,
>> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> >> > aussi..).
>> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> >> > je
>> >> > saisi
>> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> >> > temps
>> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> >> > feuille
>> >> > portant le nom saisi.
>> >> > En vous remerciant par avance
>> >> > Michel69
>> >>
>> >>
>> >>
>>
>>
>>
(Re)Salut,
ta feuille de saisie s'appelle-t-elle bien Feuil1 ?
Si oui, le problème ne vient pas de là. Tente de remplacer cette ligne par :
Worksheets("Feuil1").Select
Activesheet.Range("A65536").End(xlUp).EntireRow.Select
Ca marche mieux ?
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message de
news: 6E205E35-1B46-4CD7-A1D4-BAD771A549D4@microsoft.com...
> (Re) CAP2,
> J'ai recopié ton code dans un module standard et je l'ai placé derrière un
> bouton. Je saisi un nom puis quand je clique sur le bouton il se plante
> sur :
> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
> Cordialement
> Michel
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> je te propose une macro que tu déclenches dès que tu as saisi une
>> nouvelle
>> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
>> donc à chaque nouvelle saisie, tu déclenches la macro)
>>
>> Sub Michel()
>> Dim i As Integer
>> Dim existe As Boolean
>> Dim nom As String
>>
>> Application.ScreenUpdating = False
>>
>> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>>
>> For i = 1 To Sheets.Count
>> If Sheets(i).Name = nom Then
>> existe = True
>> End If
>> Next
>>
>> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
>> Selection.Copy
>>
>> If existe = True Then
>> Worksheets(nom).Select
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> Else
>>
>> Sheets.Add
>> ActiveSheet.Name = nom
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> End If
>>
>> Worksheets("Feuil1").Select
>> ActiveSheet.Range("A1").Select
>>
>> Application.CutCopyMode = False
>>
>> Application.ScreenUpdating = True
>>
>> End Sub
>>
>> Ca marche ?
>>
>> CAP2
>>
>> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
>> de
>> news: 0427DF14-CCC4-4D4E-8F63-064E75CBD747@microsoft.com...
>> > Bonjour CAP2,
>> > Merci pour ton aide.
>> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
>> > et
>> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe
>> > pas
>> > et
>> > il faut le créer dans la foulée puis écrire la ligne...
>> > Michel69
>> >
>> > "CAP2" a écrit :
>> >
>> >> Salut,
>> >>
>> >> juste une question : La ligne doit être recopiée dans une feuille déjà
>> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> >> ?
>> >>
>> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> >> calcul
>> >> ?
>> >>
>> >> OK, ça fait 2 questions ;o))
>> >>
>> >> CAP2
>> >>
>> >> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le
>> >> message
>> >> de
>> >> news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
>> >> > Bonjour à toutes et à tous,
>> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> >> > aussi..).
>> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> >> > je
>> >> > saisi
>> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> >> > temps
>> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> >> > feuille
>> >> > portant le nom saisi.
>> >> > En vous remerciant par avance
>> >> > Michel69
>> >>
>> >>
>> >>
>>
>>
>>
(Re)Salut,
ta feuille de saisie s'appelle-t-elle bien Feuil1 ?
Si oui, le problème ne vient pas de là. Tente de remplacer cette ligne par :
Worksheets("Feuil1").Select
Activesheet.Range("A65536").End(xlUp).EntireRow.Select
Ca marche mieux ?
CAP2
"Michel69" a écrit dans le message de
news:
> (Re) CAP2,
> J'ai recopié ton code dans un module standard et je l'ai placé derrière un
> bouton. Je saisi un nom puis quand je clique sur le bouton il se plante
> sur :
> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
> Cordialement
> Michel
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> je te propose une macro que tu déclenches dès que tu as saisi une
>> nouvelle
>> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
>> donc à chaque nouvelle saisie, tu déclenches la macro)
>>
>> Sub Michel()
>> Dim i As Integer
>> Dim existe As Boolean
>> Dim nom As String
>>
>> Application.ScreenUpdating = False
>>
>> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>>
>> For i = 1 To Sheets.Count
>> If Sheets(i).Name = nom Then
>> existe = True
>> End If
>> Next
>>
>> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
>> Selection.Copy
>>
>> If existe = True Then
>> Worksheets(nom).Select
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> Else
>>
>> Sheets.Add
>> ActiveSheet.Name = nom
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> End If
>>
>> Worksheets("Feuil1").Select
>> ActiveSheet.Range("A1").Select
>>
>> Application.CutCopyMode = False
>>
>> Application.ScreenUpdating = True
>>
>> End Sub
>>
>> Ca marche ?
>>
>> CAP2
>>
>> "Michel69" a écrit dans le message
>> de
>> news:
>> > Bonjour CAP2,
>> > Merci pour ton aide.
>> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
>> > et
>> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe
>> > pas
>> > et
>> > il faut le créer dans la foulée puis écrire la ligne...
>> > Michel69
>> >
>> > "CAP2" a écrit :
>> >
>> >> Salut,
>> >>
>> >> juste une question : La ligne doit être recopiée dans une feuille déjà
>> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> >> ?
>> >>
>> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> >> calcul
>> >> ?
>> >>
>> >> OK, ça fait 2 questions ;o))
>> >>
>> >> CAP2
>> >>
>> >> "Michel69" a écrit dans le
>> >> message
>> >> de
>> >> news:
>> >> > Bonjour à toutes et à tous,
>> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> >> > aussi..).
>> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> >> > je
>> >> > saisi
>> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> >> > temps
>> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> >> > feuille
>> >> > portant le nom saisi.
>> >> > En vous remerciant par avance
>> >> > Michel69
>> >>
>> >>
>> >>
>>
>>
>>
Salut,
je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message de
news:
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" a écrit dans le message
>> de
>> news:
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
Salut,
je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message de
news: 0427DF14-CCC4-4D4E-8F63-064E75CBD747@microsoft.com...
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
>> de
>> news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
Salut,
je te propose une macro que tu déclenches dès que tu as saisi une nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message de
news:
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" a écrit dans le message
>> de
>> news:
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
CAP2
Ton code fonctionne parfaitement mais en changeant le nom feuil1 par celui
de ma feuille de saisie "BDD".
Puis-je te (re)mettre à contribution ? Dans la création de l'onglet s'il
n'existe pas quel serait le bout de code qui me permettrait de recopier
l'entête des colonnes de BDD 1 seule fois par fiche
Encore merci
Michel
"CAP2" a écrit :Salut,
je te propose une macro que tu déclenches dès que tu as saisi une
nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message
de
news:
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
> et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe
> pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" a écrit dans le
>> message
>> de
>> news:
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> > je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
CAP2
Ton code fonctionne parfaitement mais en changeant le nom feuil1 par celui
de ma feuille de saisie "BDD".
Puis-je te (re)mettre à contribution ? Dans la création de l'onglet s'il
n'existe pas quel serait le bout de code qui me permettrait de recopier
l'entête des colonnes de BDD 1 seule fois par fiche
Encore merci
Michel
"CAP2" a écrit :
Salut,
je te propose une macro que tu déclenches dès que tu as saisi une
nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
de
news: 0427DF14-CCC4-4D4E-8F63-064E75CBD747@microsoft.com...
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
> et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe
> pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le
>> message
>> de
>> news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> > je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
CAP2
Ton code fonctionne parfaitement mais en changeant le nom feuil1 par celui
de ma feuille de saisie "BDD".
Puis-je te (re)mettre à contribution ? Dans la création de l'onglet s'il
n'existe pas quel serait le bout de code qui me permettrait de recopier
l'entête des colonnes de BDD 1 seule fois par fiche
Encore merci
Michel
"CAP2" a écrit :Salut,
je te propose une macro que tu déclenches dès que tu as saisi une
nouvelle
personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
donc à chaque nouvelle saisie, tu déclenches la macro)
Sub Michel()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
If existe = True Then
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("Feuil1").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message
de
news:
> Bonjour CAP2,
> Merci pour ton aide.
> En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
> et
> alors on copie la ligne à la suite des autres, soit l'onglet n'existe
> pas
> et
> il faut le créer dans la foulée puis écrire la ligne...
> Michel69
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> juste une question : La ligne doit être recopiée dans une feuille déjà
>> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> ?
>>
>> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> calcul
>> ?
>>
>> OK, ça fait 2 questions ;o))
>>
>> CAP2
>>
>> "Michel69" a écrit dans le
>> message
>> de
>> news:
>> > Bonjour à toutes et à tous,
>> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> > aussi..).
>> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> > je
>> > saisi
>> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> > temps
>> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> > feuille
>> > portant le nom saisi.
>> > En vous remerciant par avance
>> > Michel69
>>
>>
>>
Excuse de l'attente,
remplace mon 1er code par celui-ci, et tes en-têtes seront écrits
automatiquement quand il créera une nouvelle feuille !
Private Sub CommandButton1_Click()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("BDD").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
If existe = True Then
Worksheets("BDD").Select
ActiveSheet.Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
Worksheets("BDD").Select
ActiveSheet.Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
Worksheets("BDD").Select
ActiveSheet.Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("BDD").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message de
news:
> CAP2
> Ton code fonctionne parfaitement mais en changeant le nom feuil1 par celui
> de ma feuille de saisie "BDD".
> Puis-je te (re)mettre à contribution ? Dans la création de l'onglet s'il
> n'existe pas quel serait le bout de code qui me permettrait de recopier
> l'entête des colonnes de BDD 1 seule fois par fiche
> Encore merci
> Michel
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> je te propose une macro que tu déclenches dès que tu as saisi une
>> nouvelle
>> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
>> donc à chaque nouvelle saisie, tu déclenches la macro)
>>
>> Sub Michel()
>> Dim i As Integer
>> Dim existe As Boolean
>> Dim nom As String
>>
>> Application.ScreenUpdating = False
>>
>> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>>
>> For i = 1 To Sheets.Count
>> If Sheets(i).Name = nom Then
>> existe = True
>> End If
>> Next
>>
>> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
>> Selection.Copy
>>
>> If existe = True Then
>> Worksheets(nom).Select
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> Else
>>
>> Sheets.Add
>> ActiveSheet.Name = nom
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> End If
>>
>> Worksheets("Feuil1").Select
>> ActiveSheet.Range("A1").Select
>>
>> Application.CutCopyMode = False
>>
>> Application.ScreenUpdating = True
>>
>> End Sub
>>
>> Ca marche ?
>>
>> CAP2
>>
>> "Michel69" a écrit dans le message
>> de
>> news:
>> > Bonjour CAP2,
>> > Merci pour ton aide.
>> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
>> > et
>> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe
>> > pas
>> > et
>> > il faut le créer dans la foulée puis écrire la ligne...
>> > Michel69
>> >
>> > "CAP2" a écrit :
>> >
>> >> Salut,
>> >>
>> >> juste une question : La ligne doit être recopiée dans une feuille déjà
>> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> >> ?
>> >>
>> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> >> calcul
>> >> ?
>> >>
>> >> OK, ça fait 2 questions ;o))
>> >>
>> >> CAP2
>> >>
>> >> "Michel69" a écrit dans le
>> >> message
>> >> de
>> >> news:
>> >> > Bonjour à toutes et à tous,
>> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> >> > aussi..).
>> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> >> > je
>> >> > saisi
>> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> >> > temps
>> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> >> > feuille
>> >> > portant le nom saisi.
>> >> > En vous remerciant par avance
>> >> > Michel69
>> >>
>> >>
>> >>
>>
>>
>>
Excuse de l'attente,
remplace mon 1er code par celui-ci, et tes en-têtes seront écrits
automatiquement quand il créera une nouvelle feuille !
Private Sub CommandButton1_Click()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("BDD").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
If existe = True Then
Worksheets("BDD").Select
ActiveSheet.Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
Worksheets("BDD").Select
ActiveSheet.Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
Worksheets("BDD").Select
ActiveSheet.Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("BDD").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message de
news: CDC598E8-2B07-41C2-BBB1-03668F505F24@microsoft.com...
> CAP2
> Ton code fonctionne parfaitement mais en changeant le nom feuil1 par celui
> de ma feuille de saisie "BDD".
> Puis-je te (re)mettre à contribution ? Dans la création de l'onglet s'il
> n'existe pas quel serait le bout de code qui me permettrait de recopier
> l'entête des colonnes de BDD 1 seule fois par fiche
> Encore merci
> Michel
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> je te propose une macro que tu déclenches dès que tu as saisi une
>> nouvelle
>> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
>> donc à chaque nouvelle saisie, tu déclenches la macro)
>>
>> Sub Michel()
>> Dim i As Integer
>> Dim existe As Boolean
>> Dim nom As String
>>
>> Application.ScreenUpdating = False
>>
>> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>>
>> For i = 1 To Sheets.Count
>> If Sheets(i).Name = nom Then
>> existe = True
>> End If
>> Next
>>
>> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
>> Selection.Copy
>>
>> If existe = True Then
>> Worksheets(nom).Select
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> Else
>>
>> Sheets.Add
>> ActiveSheet.Name = nom
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> End If
>>
>> Worksheets("Feuil1").Select
>> ActiveSheet.Range("A1").Select
>>
>> Application.CutCopyMode = False
>>
>> Application.ScreenUpdating = True
>>
>> End Sub
>>
>> Ca marche ?
>>
>> CAP2
>>
>> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
>> de
>> news: 0427DF14-CCC4-4D4E-8F63-064E75CBD747@microsoft.com...
>> > Bonjour CAP2,
>> > Merci pour ton aide.
>> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
>> > et
>> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe
>> > pas
>> > et
>> > il faut le créer dans la foulée puis écrire la ligne...
>> > Michel69
>> >
>> > "CAP2" a écrit :
>> >
>> >> Salut,
>> >>
>> >> juste une question : La ligne doit être recopiée dans une feuille déjà
>> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> >> ?
>> >>
>> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> >> calcul
>> >> ?
>> >>
>> >> OK, ça fait 2 questions ;o))
>> >>
>> >> CAP2
>> >>
>> >> "Michel69" <Michel69@discussions.microsoft.com> a écrit dans le
>> >> message
>> >> de
>> >> news: F9AC79DE-5BFF-467A-97DC-56EA20F4ED14@microsoft.com...
>> >> > Bonjour à toutes et à tous,
>> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> >> > aussi..).
>> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> >> > je
>> >> > saisi
>> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> >> > temps
>> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> >> > feuille
>> >> > portant le nom saisi.
>> >> > En vous remerciant par avance
>> >> > Michel69
>> >>
>> >>
>> >>
>>
>>
>>
Excuse de l'attente,
remplace mon 1er code par celui-ci, et tes en-têtes seront écrits
automatiquement quand il créera une nouvelle feuille !
Private Sub CommandButton1_Click()
Dim i As Integer
Dim existe As Boolean
Dim nom As String
Application.ScreenUpdating = False
nom = Worksheets("BDD").Range("A65536").End(xlUp).Value
For i = 1 To Sheets.Count
If Sheets(i).Name = nom Then
existe = True
End If
Next
If existe = True Then
Worksheets("BDD").Select
ActiveSheet.Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Else
Sheets.Add
ActiveSheet.Name = nom
Worksheets("BDD").Select
ActiveSheet.Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
Worksheets("BDD").Select
ActiveSheet.Range("A65536").End(xlUp).EntireRow.Select
Selection.Copy
Worksheets(nom).Select
ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
End If
Worksheets("BDD").Select
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Ca marche ?
CAP2
"Michel69" a écrit dans le message de
news:
> CAP2
> Ton code fonctionne parfaitement mais en changeant le nom feuil1 par celui
> de ma feuille de saisie "BDD".
> Puis-je te (re)mettre à contribution ? Dans la création de l'onglet s'il
> n'existe pas quel serait le bout de code qui me permettrait de recopier
> l'entête des colonnes de BDD 1 seule fois par fiche
> Encore merci
> Michel
>
> "CAP2" a écrit :
>
>> Salut,
>>
>> je te propose une macro que tu déclenches dès que tu as saisi une
>> nouvelle
>> personne (Mon code ne tiendra compte que de la DERNIERE personne saisie,
>> donc à chaque nouvelle saisie, tu déclenches la macro)
>>
>> Sub Michel()
>> Dim i As Integer
>> Dim existe As Boolean
>> Dim nom As String
>>
>> Application.ScreenUpdating = False
>>
>> nom = Worksheets("Feuil1").Range("A65536").End(xlUp).Value
>>
>> For i = 1 To Sheets.Count
>> If Sheets(i).Name = nom Then
>> existe = True
>> End If
>> Next
>>
>> Worksheets("Feuil1").Range("A65536").End(xlUp).EntireRow.Select
>> Selection.Copy
>>
>> If existe = True Then
>> Worksheets(nom).Select
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> Else
>>
>> Sheets.Add
>> ActiveSheet.Name = nom
>> ActiveSheet.Range("A65536").End(xlUp).Offset(1, 0).Select
>> ActiveSheet.Paste
>> ActiveSheet.Range("A1").Select
>> End If
>>
>> Worksheets("Feuil1").Select
>> ActiveSheet.Range("A1").Select
>>
>> Application.CutCopyMode = False
>>
>> Application.ScreenUpdating = True
>>
>> End Sub
>>
>> Ca marche ?
>>
>> CAP2
>>
>> "Michel69" a écrit dans le message
>> de
>> news:
>> > Bonjour CAP2,
>> > Merci pour ton aide.
>> > En fait, en fonction du nom saisi sur feuil1, soit l'onglet existe déjà
>> > et
>> > alors on copie la ligne à la suite des autres, soit l'onglet n'existe
>> > pas
>> > et
>> > il faut le créer dans la foulée puis écrire la ligne...
>> > Michel69
>> >
>> > "CAP2" a écrit :
>> >
>> >> Salut,
>> >>
>> >> juste une question : La ligne doit être recopiée dans une feuille déjà
>> >> existante, ou faut-il que le code crée la feuille, puis recopie dedans
>> >> ?
>> >>
>> >> N'y aura-t-il donc qu'une seule ligne dans chacune des feuilles de
>> >> calcul
>> >> ?
>> >>
>> >> OK, ça fait 2 questions ;o))
>> >>
>> >> CAP2
>> >>
>> >> "Michel69" a écrit dans le
>> >> message
>> >> de
>> >> news:
>> >> > Bonjour à toutes et à tous,
>> >> > Tout d'abord un grand Merci à MPO pour son aide (et aux autres
>> >> > aussi..).
>> >> > Sur une feuille j'ai des colonnes (noms, prénoms, âge....). Lorsque
>> >> > je
>> >> > saisi
>> >> > une ligne sur cette feuille (feuil1), serait-il possible qu'en même
>> >> > temps
>> >> > (ou en différé), ma ligne soit intégralement recopiée sur une autre
>> >> > feuille
>> >> > portant le nom saisi.
>> >> > En vous remerciant par avance
>> >> > Michel69
>> >>
>> >>
>> >>
>>
>>
>>