Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
bouge pas avec elle ?
"CAP2" a écrit :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
>> >>
>> >>
>> >>
>>
>>
>>
Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
bouge pas avec elle ?
"CAP2" a écrit :
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
>> >>
>> >>
>> >>
>>
>>
>>
Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
bouge pas avec elle ?
"CAP2" a écrit :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
>> >>
>> >>
>> >>
>>
>>
>>
Salut Michel,
Si j'ai bien compris ce que tu veux faire, tu mets ton bouton en haut de ta
feuille, puis tu sélectionnes la ligne juste en dessous de ton bouton, puis
tu vas dans Fenêtre-->Figer les volets.
Du coup, tu peux descendre saisir plus bas, et les lignes avec ton bouton
restent visibles...
Ca marche ?
CAP2
"Michel69" a écrit dans le message de
news:
> Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
> Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
> bouge pas avec elle ?
>
> "CAP2" a écrit :
>
>> 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
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>
Salut Michel,
Si j'ai bien compris ce que tu veux faire, tu mets ton bouton en haut de ta
feuille, puis tu sélectionnes la ligne juste en dessous de ton bouton, puis
tu vas dans Fenêtre-->Figer les volets.
Du coup, tu peux descendre saisir plus bas, et les lignes avec ton bouton
restent visibles...
Ca marche ?
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message de
news: C986E625-4039-4C7D-B17A-897A41D39E2B@microsoft.com...
> Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
> Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
> bouge pas avec elle ?
>
> "CAP2" a écrit :
>
>> 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
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>
Salut Michel,
Si j'ai bien compris ce que tu veux faire, tu mets ton bouton en haut de ta
feuille, puis tu sélectionnes la ligne juste en dessous de ton bouton, puis
tu vas dans Fenêtre-->Figer les volets.
Du coup, tu peux descendre saisir plus bas, et les lignes avec ton bouton
restent visibles...
Ca marche ?
CAP2
"Michel69" a écrit dans le message de
news:
> Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
> Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
> bouge pas avec elle ?
>
> "CAP2" a écrit :
>
>> 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
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>
Salut CAP2
Ton aide m'a été précieuse. Effectivement pour le "bouton" c'était simple,
il fallait y penser.
Dis-moi, en ligne 1 sur 12 feuilles (jan 09,fev 09....dec 09) j'ai les
jours
de la semaine (L,M,M,J,V,S,D). t'aurais pas un bout de code qui me colore
en
jaune par exemple, toutes les colonnes ayant D (comme dimanche) ?
Merci de nouveau
Michel
"CAP2" a écrit :Salut Michel,
Si j'ai bien compris ce que tu veux faire, tu mets ton bouton en haut de
ta
feuille, puis tu sélectionnes la ligne juste en dessous de ton bouton,
puis
tu vas dans Fenêtre-->Figer les volets.
Du coup, tu peux descendre saisir plus bas, et les lignes avec ton bouton
restent visibles...
Ca marche ?
CAP2
"Michel69" a écrit dans le message
de
news:
> Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
> Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
> bouge pas avec elle ?
>
> "CAP2" a écrit :
>
>> 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
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>
Salut CAP2
Ton aide m'a été précieuse. Effectivement pour le "bouton" c'était simple,
il fallait y penser.
Dis-moi, en ligne 1 sur 12 feuilles (jan 09,fev 09....dec 09) j'ai les
jours
de la semaine (L,M,M,J,V,S,D). t'aurais pas un bout de code qui me colore
en
jaune par exemple, toutes les colonnes ayant D (comme dimanche) ?
Merci de nouveau
Michel
"CAP2" a écrit :
Salut Michel,
Si j'ai bien compris ce que tu veux faire, tu mets ton bouton en haut de
ta
feuille, puis tu sélectionnes la ligne juste en dessous de ton bouton,
puis
tu vas dans Fenêtre-->Figer les volets.
Du coup, tu peux descendre saisir plus bas, et les lignes avec ton bouton
restent visibles...
Ca marche ?
CAP2
"Michel69" <Michel69@discussions.microsoft.com> a écrit dans le message
de
news: C986E625-4039-4C7D-B17A-897A41D39E2B@microsoft.com...
> Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
> Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
> bouge pas avec elle ?
>
> "CAP2" a écrit :
>
>> 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
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>
Salut CAP2
Ton aide m'a été précieuse. Effectivement pour le "bouton" c'était simple,
il fallait y penser.
Dis-moi, en ligne 1 sur 12 feuilles (jan 09,fev 09....dec 09) j'ai les
jours
de la semaine (L,M,M,J,V,S,D). t'aurais pas un bout de code qui me colore
en
jaune par exemple, toutes les colonnes ayant D (comme dimanche) ?
Merci de nouveau
Michel
"CAP2" a écrit :Salut Michel,
Si j'ai bien compris ce que tu veux faire, tu mets ton bouton en haut de
ta
feuille, puis tu sélectionnes la ligne juste en dessous de ton bouton,
puis
tu vas dans Fenêtre-->Figer les volets.
Du coup, tu peux descendre saisir plus bas, et les lignes avec ton bouton
restent visibles...
Ca marche ?
CAP2
"Michel69" a écrit dans le message
de
news:
> Merci pour tout CAP2, tout fonctionne comme je le souhaitais.
> Tu ne connaîtrais pas la 'commande' pour q'un bouton sur une feuille ne
> bouge pas avec elle ?
>
> "CAP2" a écrit :
>
>> 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
>> >> >>
>> >> >>
>> >> >>
>> >>
>> >>
>> >>
>>
>>
>>