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 !
il y a des numéros qui ne correspondent en rien à ceux de la feuille Fa + BL.
Tu remarqueras également que j'ai ajouté une colonne supplémentaire pour les prix, qui n'étaient pas repris dans ton dernier fichier.
RE :
Désolé, je pensais avoir tout compris, mais il y a quelque chose qui m'échappe :
Peux-tu me préciser comment fonctionne la numérotation, car sur la feuille Registre, il y a des numéros qui ne correspondent en rien à ceux de la feuille Fa + BL. Selon quelle logique doit-on lier les n° de facture à ceux des BL ?
Voici donc une version provisoire, sur laquelle j'ai été amené à retoucher des détails de présentation et à reporter mes modifications précédentes. Tu remarqueras également que j'ai ajouté une colonne supplémentaire pour les prix, qui n'étaient pas repris dans ton dernier fichier.
Pour le moment, le bouton Archiver fonctionne, mais sans la mise à jour du registre, pour laquelle j'attends la réponse à ma questio n ci-dessus.
Dans cette attente.
Bien cordialement.
Cijoint.fr - Service gratuit de dépôt de fichiers
dans mon classeur y aura beaucoup de feuilles. prenant juste 3. modele facture , modele BL et registre. le but est quand je saisis une facture ou BL ça se reproduit dans la feille registre
je vais essayer de clairifier +
mon projet :
- creer un seul classeur qui aura beacoup de feuilles, parmi ces feuilles il y aura :
- Feuille modele Facture + BL
- Feuille modele BL
- Feuille modele Facture
- Feuille Registre
Cette feuille Registre sera comme "un bloc note" de façon à quand je saisis dans une des 3 Feuille modele , les données se notent automatiquement dans cette feuille suivant le style défini dans la feuille.
encore plus simple :
* un client vient et achete des produits, je vais sur la feuille "Facture + BL" je remplie la facture et j'imprime " une facture et un BL " j'appuie sur "Archiver" pour enregistrer une copie de la feuille et en même temps envoyer les donnes saisies à la feuille Registre
APRES
** une ste prend des produits, je vais sur la feuille "BL" je remplie le BL et j'imprime " un BL " j'appuie sur "Archiver" pour enregistrer une copie de la feuille et en même temps envoyer les donnes saisies à la feuille Registre.
*** à la fin du mois, j'accumule les BL de cette ste, je vais sur la feuille "Facture" je remplie une seule facture (pour les X BL) et j'imprime " une facture " j'appuie sur "Archiver" pour enregistrer une copie de la feuille et en même temps envoyer les donnes saisies à la feuille Registre.
il n'y aura pas d'incrementation de n° de facture et BL, je devrai les saisir manuellement, je ne vois pas de sollution
J'espere que j'étais + claire sinon je reformule.
Bonjour anna111, Papou-net
Papou-net, je cite : "Par ailleurs, sous Excel 2003, le nombre maxi de feuilles est limité à 256", vrai un peu et surtout faux.
A la création par Outils/Options et onglet Général oui tu as raison, mais ensuite tu peux en rajouter autant que tu veux, autant que ton pc pourra accepter.....
Bonne soirée.
Jean-Pierre
Or dans dans ton fichier , une fois "archiver" un nouvel onglet est créé et portant le n° de la facture (Fa230 + BL) . je preferai nouveau fichier (Fa230 + BL255) 😛ActiveSheet.Name = "Fa" & (Nom) & " + BL" & (N°)
ActiveWorkbook.SaveAs Filename:=Chemin & "\" & "Fa" & (Nom) & " + BL" & (N°) & ".xls"
Papou-net tu es un artiste !!!
c'est exactement ce que j'ai envie de faire, avec des ptites modifications personnelles et mon application est prete. Merci 🙂🙂
Je ne sais pas coment tu as procedé, je ne me connais pas trop en Excel. Comme je t'ai dis je vais avoir, je pense, environ une quinzaine de feuilles dont au total 9 Feuilles modèles, 2 Feuilles Registre, une Feuille de Démarrage, une Feuille regrouppant le stock, les achats ect ..... donc, je devrai savoir comment tu as fais, surtout pour rentrer les données dans la Feuille Registre, pour ne pas avoir à te déranger ecore plus :
j'ai 7 feuilles modéles que je vais lier à la feuille "Registre"
1 facture + BL HT
2 Facture + BLL TTC
3 Facture HT
4 Facture TTC
5 BL HT
6 BL TTC
7 BL (cette feuille ressemble à 5 et 6, mais sans prix)
les données saisies dans ces 7 Feuilles seront notées dans la feuille Registre.
j'ai 2 autres feuilles que je vais lier à la feuille "Registre C"
* Facture comptant HT
* Facture comptant TTC
Aussi, j'ai des petites choses à régler :
- en double cliquant sur un produit, j'aimerai commencer par la ligne 24 au lieu de 23 (la ligne 23 reste vide)
une fois appuyer sur "Archiver"
- la feuille enregistrée ne s'ajoute pas comme "nouvelle feuille" mais dans un nouveau classeur qui sera dans le même repertoire et qui aura le nom de la feuille
Or dans dans ton fichier , une fois "archiver" un nouvel onglet est créé et portant le n° de la facture (Fa230 + BL) . je preferai nouveau fichier (Fa230 + BL255) 😛
- quand il sagira de BL la case du montant dans la feuille Registre reste vide non pas masquée
Papou-net, j'aimerai faire entrer le paiement aussi dans le registre et le paiment sera le texte que je vais entrer manuellement dans la cellule A50 .
* parfois, il y a plusieurs paiment donc je remplie A50, A51, ... disons jusqu'à A55 je voudrais que si je les remplies toutes ça se note dans la cellule "paement" suivant ce style :
A50 : espece
A51 : cheque n°86
A52 cheque n°130
ect ...
dans la cellule "paiement" j'aurai : espece / cheque n°86 / cheque n°130 ou espece - cheque n°86 - cheque n°130. si je ne mets rien dans A50 ben la case paiment reste vide
STP dis moi ou aller et quoi modifier, parce que ça m'embarrasse de te déranger en faisant TOUT le travail pour moi.
Sub Archivage()
Dim Lg As Long
' Cette macro est déclenchée par le bouton Archiver
' Récupère les N° de documents
NumFa = ActiveSheet.Range("G15")
NumBL = ActiveSheet.Range("G77")
' Recherche dans la feuille de registre si les N° sont déjà enregistrés
With Sheets("Registre")
' Définit le type de document (Facture ou BL)
TypDoc = ActiveSheet.Name
' Récupération de la première ligne vide dans la feuille de registre
Lg = .Range("A65536").End(xlUp).Row + 1
Select Case TypDoc
Case Is = "BL"
NumBL = ActiveSheet.Range("G15")
If Not .Range("A:A").Find("BL" & NumBL, LookIn:=xlValues, lookat:=xlWhole) Is Nothing Then
MsgBox "Ce numéro de BL existe déjà !", vbOKOnly + vbecxlamation, "ERREUR DE N°"
Cancel = True
ActiveSheet.Range("G15") = ""
ActiveSheet.Range("G15").Select
Exit Sub
End If
.Cells(Lg, 1) = "BL" & NumBL
[U]' ActiveSheet.Copy after:=Sheets(Sheets.Count)
' ActiveSheet.Name = TypDoc & "-" & NumBL
' ActiveSheet.Tab.ColorIndex = -4142
' Sheets(TypDoc).Select[/U]
Case Is = "Fa"
NumFa = ActiveSheet.Range("G15")
If Not .Range("A:A").Find(NumFa, LookIn:=xlValues, lookat:=xlWhole) Is Nothing Then
MsgBox "Ce numéro de facture existe déjà !", vbOKOnly + vbecxlamation, "ERREUR DE N°"
Cancel = True
ActiveSheet.Range("G15") = ""
ActiveSheet.Range("G15").Select
Exit Sub
End If
.Cells(Lg, 1) = NumFa
[U]' ActiveSheet.Copy after:=Sheets(Sheets.Count)
' ActiveSheet.Name = TypDoc & "-" & NumFa
' ActiveSheet.Tab.ColorIndex = -4142
' Sheets(TypDoc).Select[/U]
Case Is = "Fa + BL"
NumFa = ActiveSheet.Range("G15")
NumBL = ActiveSheet.Range("G77")
If Not .Range("A:A").Find(NumFa, LookIn:=xlValues, lookat:=xlWhole) Is Nothing Then
MsgBox "Ce numéro de facture existe déjà !", vbOKOnly + vbecxlamation, "ERREUR DE N°"
Cancel = True
ActiveSheet.Range("G15") = ""
ActiveSheet.Range("G15").Select
Exit Sub
End If
.Cells(Lg, 1) = NumFa
If Not .Range("A:A").Find("BL" & NumBL, LookIn:=xlValues, lookat:=xlWhole) Is Nothing Then
MsgBox "Ce numéro de BL existe déjà !", vbOKOnly + vbecxlamation, "ERREUR DE N°"
Cancel = True
ActiveSheet.Range("G77") = ""
ActiveSheet.Range("G77").Select
Exit Sub
End If
If Not NumBL = "" Then .Cells(Lg + 1, 1) = "BL" & NumBL
End Select
If Not NumFa = "" Then
For Each Cel In ActiveSheet.Range("D2[COLOR="Red"][B]4[/B][/COLOR]:D42")
Produit = Cel.Value
Set prod = Sheets("Produits").Range("A:A").Find(Produit, LookIn:=xlValues)
Produit = Sheets("Produits").Cells(prod.Row, 2)
If Produit = "" Then Exit For
Set Col = .Range("2:2").Find(Produit, LookIn:=xlValues)
Col = Col.Column
.Cells(Lg, Col) = ActiveSheet.Cells(Cel.Row, 5)
.Cells(Lg, 2) = ActiveSheet.Range("G45")
.Cells(Lg, 3) = ActiveSheet.Range("G12")
.Cells(Lg, 4) = ActiveSheet.Range("D15")
Next
End If
If Not NumBL = "" Then
For Each Cel In ActiveSheet.Range("D8[COLOR="Red"][B]5[/B][/COLOR]:D103")
Produit = Cel.Value
Set prod = Sheets("Produits").Range("A:A").Find(Produit, LookIn:=xlValues)
Produit = Sheets("Produits").Cells(prod.Row, 2)
If Produit = "" Then Exit For
Set Col = .Range("2:2").Find(Produit, LookIn:=xlValues)
Col = Col.Column
.Cells(Lg + 1, Col) = ActiveSheet.Cells(Cel.Row, 5)
.Cells(Lg + 1, 2) = ActiveSheet.Range("G115")
.Cells(Lg + 1, 3) = ActiveSheet.Range("G73")
.Cells(Lg + 1, 4) = ActiveSheet.Range("D76")
Next
End If
End With
With ActiveSheet
.Copy after:=Sheets(Sheets.Count)
Select Case TypDoc
Case Is = "Fa + BL"
nf = Replace(TypDoc, " +", NumFa & " +")
nf = Replace(nf, "BL", "BL" & NumBL)
Case Is = "Fa"
nf = TypDoc & NumFa
Case Is = "BL"
nf = TypDoc & NumBL
End Select
Sheets(Sheets.Count).Name = nf
Sheets(Sheets.Count).Tab.ColorIndex = -4142
End With
MsgBox "La feuille """ & ActiveSheet.Name & """ a bien été enregistrée !", vbOKOnly + vbInformation, "SAUVEGARDE RÉUSSIE"
With Sheets(TypDoc)
.Select
.Range("G12") = Date
.Range("G15:G18").ClearContents
.Range("D13:D18,D2[COLOR="Red"][B]4[/B][/COLOR]:F42").ClearContents
.Range("G77:G79").ClearContents
End With
End Sub
Bonjour Papou-net
J'ai fais exactement ce que tu m'as dis "mettre un espace dans D23, supprimer les 8 lignes soulignées et remplacer D23 par D24" . A noter : j'ai recherché D84 mais j'ai pas trouvé.
Résultat : les produits s'affiche à parir de D24 et D85 sans probleme mais une fois "archiver" la feuile est copiée dans le même classeur creant un nouvel onglet nommé "Fa### + BL" je prefere enregistrer la feuill dans un nouveau classeur nommé "Fa### + BL###"
rien de changé dans ce probleme.
Bonjour
En modifiant quelques numéros de cellules dans le module, j'ai pu renommer le nom de la feuille archivée en Fa### + BL### 😛😛
Mais toujours en Archiage un nouvel onglet se crée dans le même classeur or moi je voudrai que cette feuille (ou ce nouvel onglet) ne s'ajoute pas dans CE classeur mais dans un nouveau classeur vierge (un nouveau fichier excel portant le nom de la feuille.
comment le faire ?
We use cookies and similar technologies for the following purposes:
Est ce que vous acceptez les cookies et ces technologies?
We use cookies and similar technologies for the following purposes:
Est ce que vous acceptez les cookies et ces technologies?