Projet d'incrémentation automatique de fichier Excel

lloyd_53_7

XLDnaute Nouveau
Bonjour à Toutes et à Tous, je viens de regarder un peu partout sur le net et sur le forum je n'arrive pas à m'en sortir. Je m'explique brièvement. Je suis actuellement en stage et j'ai le projet suivant (dont je n'en ai aucune compétence). Nous utilisons un fichier Bon de Commande un peu n'importe comment. Le but est de pouvoir incrémenter le numéro de bon de commande lorsque l'ont ouvre le fichier tout en gardant une trace des bons de commandes antérieur. Il me semble que ce soit possible sous vba mais je vous avoue que je ne m'en sort pas.

Merci d'avance pour votre aide précieuse.
Cdlt Lloyd
 

lloyd_53_7

XLDnaute Nouveau
Re : Projet d'incrémentation automatique de fichier Excel

Bonsoir Mr Roland_M, j'ai oublié de précisé que je suis responsable informatique, j'ai quand même des connaissances informatique, mais pas beaucoup orienté dev. J'ai dit "aucune connaissance" juste pour avoir des explications en détail.

Cdlt.
 

Roland_M

XLDnaute Barbatruc
Re : Projet d'incrémentation automatique de fichier Excel

re

s'il s'agit d'incrémenter un numéro de bon de commande,
il serait possible de sauvegarder dans une cellule le numéro du bon à l'ouverture du fichier dans Workbook.Open et à chaque ouverture du classeur il serait incrémenté
Exemple: Sheets("Feuil1").Range("A1").Value = Sheets("Feuil1").Range("A1").Value + 1

et bien entendu le sauvegarder chaque fois avant fermeture !

exemple avec ce classeur !
tu l'ouvres, tu le sauvegardes, puis tu le refermes et tu recommences !

Roland
 

Pièces jointes

  • Classeur1.xls
    18 KB · Affichages: 1 016
  • Classeur1.xls
    18 KB · Affichages: 1 057
  • Classeur1.xls
    18 KB · Affichages: 1 048
Dernière édition:

lloyd_53_7

XLDnaute Nouveau
Re : Projet d'incrémentation automatique de fichier Excel

Bonsoir Mr Roland, un grand merci pour votre exemple, c'est tout a fait cela qu'il me fallait. Me reste plus qu'à l'intégrer. Je me permettrai de revenir vers vous (si cela ne vous dérange pas)si j'ai un quelconque problème.

Cdlt

et encore merci
 

lloyd_53_7

XLDnaute Nouveau
Re : Projet d'incrémentation automatique de fichier Excel

Bonjour,
Je me permet de vous postez ce message car j'aurai besoin de 3 codes easy dans la mesure du possible bien sur. Je souhaiterai créer trois boutons (Valider, Annuler et Quitter).
Valider: - permettrai d'enregistrer le fichier dans un dossier X
- d'incrémenté le numéro de la cellule A1 par exemple (ca c'est deja fait)
- et d'effacer le contenu des cellules C3 à C7
Annuler: - effacer le contenu des cellules C3 à C7
Quitter: - Fermer la fenêtre excel

Grand merci d'avance.
Cdlt
 

Roland_M

XLDnaute Barbatruc
Re : Projet d'incrémentation automatique de fichier Excel

bonsoir

voir si cette macro te convient !?

pour la lancer, créer un bouton(dessin genre rectangle que tu arranges)
et tu clic droit dessus et tu sélectionnes 'Affecter une macro'
cette routine peut être utiliser en standard par n'importe qui
mais il faut voir pour supprimer ActiveSheet.Range("C3:C7")=""
que tu m'as demandé !

Code:
Public Sub SauvegardeFichierDialogue()
Dim ReponseMsgBox As Variant
M$ = "<Oui> Pour enregistrer ?" & vbLf & "<Non> Pour quitter ?" & vbLf & "sinon <Annuler> ?"
ReponseMsgBox = MsgBox(M$, vbQuestion + vbYesNoCancel, "Choix:")
If ReponseMsgBox = vbYes Then ' enregistrer
   GoSub Sauvegarde: ActiveSheet.Range("C3:C7") = ""
ElseIf ReponseMsgBox = vbNo Then ' quitte close classeur
   ThisWorkbook.Close
Else 'Cancel vide cellules
   ActiveSheet.Range("C3:C7") = ""
End If
Exit Sub

Sauvegarde: ' sous prog ----------
NomDuClasseur$ = ThisWorkbook.Name
'Extention fichier
Ext$ = "xls"
I = InStr(NomDuClasseur$, ".")
If I = 0 Then NomDuClasseur$ = NomDuClasseur$ & "." & Ext$ Else Ext$ = Mid(NomDuClasseur$, I + 1)
'Idx Workbooks
For I = 1 To Workbooks.Count
 If Workbooks(I).Name = NomDuClasseur$ Then IdxW = I: Exit For
Next
'FileFormat origine
FilF = Workbooks(IdxW).FileFormat
'si version excel 2007 avec ou sans macro imposer avec soit.xlsm
If Int(Val(Application.Version)) >= 12 Then '12=VersionExcel2007
   If FilF = xlOpenXMLWorkbookMacroEnabled Or FilF = xlOpenXMLWorkbook Then Ext$ = "xlsm"
End If
If LCase(Ext$) = "xlsm" Then FilF = xlOpenXMLWorkbookMacroEnabled 'fileformat pour 2007
'message pour boite de dialogue
If Ext$ = "xls" Then
   MsgBoitDialogSelonFileFormat$ = "Fichiers Excel97-2003 (*.xls),*.xls"
ElseIf F$ = "xlsm" Then
   MsgBoitDialogSelonFileFormat$ = "Fichiers Excel2007 (*.xlsm),*.xlsm"
End If
'rep d'origine
'Rep$ = Workbooks(IdxW).Path: Rep$ = Trim(Rep$)

RetSvgClas: '<<< retour si erreur entrée
' boite de dialogue
Application.ScreenUpdating = True
RepFichSVG$ = Application.GetSaveAsFilename(NomDuClasseur$, fileFilter:=ExtSaisie$)
If RepFichSVG$ = "Faux" Then Return

' demande confirmation enregistrement
T$ = "Enregistrement": M$ = RepFichSVG$: F$ = Dir(RepFichSVG$)
If F$ > "" Then M$ = M$ & vbLf & vbLf & "Attention <" & F$ & "> existe déjà ! Confirmez le remplacement !?"
ReponseMsgBox = MsgBox(M$, vbExclamation + vbYesNo + vbDefaultButton2, T$)
If ReponseMsgBox <> vbYes Then GoTo RetSvgClas 'retour saisie

' enregistrement
Application.DisplayAlerts = False
Workbooks(NomDuClasseur$).SaveAs Filename:=RepFichSVG$, FileFormat:=FilF
Application.DisplayAlerts = True
Return
End Sub


Roland
 

lloyd_53_7

XLDnaute Nouveau
Re : Projet d'incrémentation automatique de fichier Excel

Bonjour, grâce à vous mon fichier Excel commence sérieusement à ressembler à quelques chose. Néanmoins il y a encore deux ou trois point à régler. Lorsque je fais une copie de se fichier vers un répertoire pour avoir une sauvegarde, il me l'enregistre au format .xlsm. Le souci c'est que quand je souhaite consulter se fichier, le numéro de ma cellule s'incrémente toujours alors qu'il ne devrais pas. J'ai essayé de jouer avec les droits d'accès sur le répertoire avec la lecteur seul mais rien n'y fais. J'ai même modifier le format d'enregistrement pour qu'il sauvegarde au format .xls et ça ne fonctionne pas.
Je souhaiterai donc, qu'une fois le fichier sauvegarder vers le répertoire de mon choix, le numéro de ma cellule ne s'incrémente plus. (en gros il faudrait que la macro ne s'exécute plus).

Merci bien pour votre aide.

Cdlt
 

Pièces jointes

  • Copie de bondecommande.xlsm
    22.8 KB · Affichages: 509

lloyd_53_7

XLDnaute Nouveau
Re : Projet d'incrémentation automatique de fichier Excel

Hey Hey, bonjour les Excelistes, je fais un come back pour une toute petite question. J'ai une cellule (F7) qui s'incrémente de 1 à chaque ouverture de fichier. Cette cellule correspond à un numéro de facture.

Je souhaiterai donc pouvoir verrouiller cette cellule afin que personne ne puisse faire des modifications en sachant que la valeur doit changer à chaque fois. J'ai essayé le verrouillage en activant la protection de la feuille mais cela ne fonctionne pas car ça verrouille et ça met en lecture seule.

Merci bien

Cdlt
 

Discussions similaires

Statistiques des forums

Discussions
312 685
Messages
2 090 931
Membres
104 703
dernier inscrit
romla937