Données page 1 classées sur différentes feuilles
Résolu
PBCSC
Messages postés
12
Statut
Membre
-
PBCSC Messages postés 12 Statut Membre -
PBCSC Messages postés 12 Statut Membre -
Bonjour,
Je cherche une façon d'ajouter et de classer automatiquement les données de ma feuille "liste" sur la bonne page et idéalement de créer une nouvelle feuille automatiquement si un nouveau numéro apparait dans la colonne "client"


https://www.cjoint.com/c/HIvo0YxkXRE
Je cherche une façon d'ajouter et de classer automatiquement les données de ma feuille "liste" sur la bonne page et idéalement de créer une nouvelle feuille automatiquement si un nouveau numéro apparait dans la colonne "client"


https://www.cjoint.com/c/HIvo0YxkXRE
A voir également:
- Données page 1 classées sur différentes feuilles
- Comment supprimer une page sur word - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Imprimer tableau excel sur une page - Guide
- Effacer les données de navigation sur android - Guide
- Word numéro de page 1/2 - Guide
3 réponses
Bonjour
On peut le faire par une macro déclenchée à chaque nouvelle entrée dans al colonne C de Liste
Pour établir la macro il faut un exemple de ton fichier (et pas une image) à poster sur cjoint.com, faire créer un lien , le copier et revenir le coller ici
Cdlmnt
Via
On peut le faire par une macro déclenchée à chaque nouvelle entrée dans al colonne C de Liste
Pour établir la macro il faut un exemple de ton fichier (et pas une image) à poster sur cjoint.com, faire créer un lien , le copier et revenir le coller ici
Cdlmnt
Via
PBCSC
Messages postés
12
Statut
Membre
https://www.cjoint.com/c/HIvo0YxkXRE
Bonjour,
en vba se declenche au double clic dans la dernière cellule saisie colonne A
Se mettre sur la feuille concernée faire Alt f11 pour accéder à l'éditeur et coller ce code:
voilà le plus simple
en vba se declenche au double clic dans la dernière cellule saisie colonne A
Se mettre sur la feuille concernée faire Alt f11 pour accéder à l'éditeur et coller ce code:
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then 'adapter la colonne If Target.Value = "" Then Exit Sub Sheets.Add After:=Worksheets(Worksheets.Count) 'ajoute une feuille à la suite ActiveSheet.Name = Target.Value 'renomme cette feuille End If End Sub
voilà le plus simple
Maintenant que j'ai vu le classeur, c'est mieux comme cela:
@+
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim derniereLigne As Long If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then 'adapter la colonne If Target.Value = "" Then Exit Sub If IsWorksheet(Target.Value) = True Then derniereLigne = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row ActiveSheet.Range("A" & derniereLigne + 1).Value = Sheets("Liste").Cells(Target.Row, Target.Column + 1) ActiveSheet.Range("B" & derniereLigne + 1).Value = Sheets("Liste").Cells(Target.Row, Target.Column + 2) Else Sheets.Add After:=Worksheets(Worksheets.Count) 'ajoute une feuille à la suite ActiveSheet.Name = Target.Value 'renomme cette feuille ActiveSheet.Range("A1").Value = "Code" ActiveSheet.Range("B1").Value = "Description" ActiveSheet.Range("A2").Value = Sheets("Liste").Cells(Target.Row, Target.Column + 1) ActiveSheet.Range("B2").Value = Sheets("Liste").Cells(Target.Row, Target.Column + 2) End If End If End Sub Public Function IsWorksheet(strName As String) As Boolean Dim objWorksheet As Worksheet IsWorksheet = False For Each objWorksheet In ActiveWorkbook.Worksheets If objWorksheet.Name = strName Then IsWorksheet = True Sheets(strName).Select End If Next End Function
@+