Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Création automatique de feuille par ligne saisie

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Murielmerle

XLDnaute Nouveau
Bonjour à tous,

Je souhaite créer automatiquement une nouvelle feuille (=facture) par ligne saisie dans un tableau excel et qu'elle se nomme automatiquement en fonction du nom du client. (Environ 200 clients soit 200 feuilles à créer)

Je sais qu'il serait plus intelligent d'effectuer un publipostage avec Word mais il faut absolument que cela soit fait dans excel.

Merci d'avance pour votre aide.
 
Re : Création automatique de feuille par ligne saisie

Bonsoir Murielmerle
En l'absence de support et de description précise des contraintes, une ébauche vague…​
ROGER2327
#5200


Mercredi 11 Clinamen 138 (Saint Maquereau, Intercesseur, SQ)
13 Germinal An CCXIX
2011-W13-6T23:39:19Z
 

Pièces jointes

Re : Création automatique de feuille par ligne saisie

Bonjour ROGER2327,

Merci c'est génial !

Ci-joint une ébauche de mon travail. Comment dois-je faire pour appliquer ce que tu as fais ?

Regarde la pièce jointe Classeur1.xlsx

Merci encore pour ton aide, très bon travail !

Bonne journée
 

Pièces jointes

Re : Création automatique de feuille par ligne saisie

Re…
Il faut placer le code dans le module de code de la feuille RECAP, ajuster les références (la feuille Facture devient feuille EX FACTURE, par exemple) et ajouter le transfert de données de la base vers les factures :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Cible As Range, Annuler As Boolean)
Dim l&, i&, odat()
  If Cible.Address = "$A$1" Then
    l = Cells(Rows.Count, 1).End(xlUp).Row
    If l > 3 Then
      odat = Range(Cells(3, 1), Cells(l, 20)).Value
      With Application: .ScreenUpdating = 0: .Calculation = -4135: End With
      For i = 2 To UBound(odat, 1)
        If Not IsEmpty(odat(i, 7)) Then
          On Error Resume Next
          Sheets(CStr(odat(i, 1) & "-" & odat(i, 7))).Activate
          If Err.Number <> 0 Then
            Sheets("EX FACTURE").Copy after:=Sheets(Sheets.Count)
            With ActiveSheet
              .Name = CStr(odat(i, 1) & "-" & odat(i, 7))
              .Range("$D$10").Value = odat(i, 4)
              .Range("$D$11").Value = odat(i, 5)
              .Range("$D$12").Value = odat(i, 6)
              .Range("$B$17").Value = CStr(odat(i, 2)) & " " & CStr(odat(i, 1))
              .Range("$B$18").Value = CStr(odat(i, 3))
              .Range("$A$20").Value = CStr(odat(i, 9))
              .Range("$C$20").Value = odat(i, 10)
              .Range("$A$21").Value = CStr(odat(i, 11))
              .Range("$C$21").Value = odat(i, 12)
              .Range("$C$25").Value = odat(i, 13)
              .Range("$A$26").Value = CStr(odat(i, 14))
              .Range("$B$29").Value = CLng(odat(i, 8))
              .Range("$B$45").Value = CLng(odat(i, 15))
            End With
          End If
        End If
      Next
      On Error GoTo 0
      With Application: .Calculation = -4105: .ScreenUpdating = 1: End With
    End If
    Annuler = True
  End If
End Sub
(Voir le classeur joint.)

À noter : une fois une facture créée, les modifications concernant cette facture dans la feuille RECAP ne modifient évidemment pas la facture. (Normal : une facture ne doit pas être bricolée après sa création.) Si on veut modifier une facture, il faut d'abord la supprimer, puis la recréer. Ou bien en éditer une autre avec un nouveau numéro si on veut garder la trace de l'opération annulée.​
ROGER2327
#5203


Jeudi 12 Clinamen 138 (Saint Georges Dazet, poulpe au regard de soie, SQ)
14 Germinal An CCXIX
2011-W13-7T15:11:44Z
 

Pièces jointes

Dernière édition:
Re : Création automatique de feuille par ligne saisie

Bonjour ROGER2327,

Merci, j'ai réussi à modifier quelques éléments mais à force de toujours vouloir simplifier les choses, cela se complique pour la réalisation de mon fichier !

J'amerais lorsqu'une entreprise ou un particulier finance la scolarité de plusieurs élèves de la même classe ou non, soit créée une seule facture dans laquelle apparaitra les noms et prénoms des élèves regroupés par classe.

Est-ce que cela est faisable ?

Merci d'avance,

Bonne journée.

Muriel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2019 B
Réponses
10
Affichages
601
Réponses
10
Affichages
536
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…