Communauté Fb
Follow us on twitter
Les vidéos du site
Le site complément
Dépannage de votre PC

Programmer en vb

Bonjour et bienvenue,

Programmer en VB est le site qui vous fera prendre conscience que vous pouvez concevoir votre programme informatique vous-même, que vous soyez artisan, employé ou étudiant.

Le Visual Basic est un langage informatique très puissant, très flexible et très abordable.
Une version en application se trouve sous Office
Excel pour exemple :
Tapez Alt + F11 à l’aide de votre clavier puis vous voilà dans l’éditeur de code VBA.

Notre forum d’entraide vous offre des tutoriels ainsi que divers exemples tout prêt à adapter à votre projet personnel.
Nous vous demandons uniquement de la bonne humeur et de la bonne volonté pour toutes questions ou toutes aides quelle qu’elle soit.
Sachez que pour progresser rapidement il est conseillé d’aider au mieux les autres membres.
Nous ne sommes pas là pour juger les qualités ou défauts de codes proposés, mais pour trouver ensemble la solution à votre demande.

A vos claviers :

Afin de remplir le forum, nous vous demandons de partager sur les réseaux sociaux et autres.
https://www.facebook.com/AdminPVB/


Merci de nous rejoindre sur http://programmer-en-vb.forumactif.org/
Merci d'avoir pris le temps de lire.
Merci pour votre inscription.

L'équipe de Programmer-en-VB

Forum de programmation VBA et VB.NET

Welcome if you does not speak french,you are able to translate the whole topics with the flags just below of this message. Click to English

Visual Basic Application et VB.net de puissants langages à la portée de tous.

Participez et soyez acteurs des divers forums ci-dessous.

Bienvenue à chaque nouveaux membres et merci à tous ceux qui font vivre ce forum.


Qui est en ligne ?

Il y a en tout 14 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 14 Invités

Aucun


Le record du nombre d'utilisateurs en ligne est de 65 le Mar 8 Juil - 23:40

Statistiques

Nos membres ont posté un total de 4818 messages dans 584 sujets

Nous avons 445 membres enregistrés

L'utilisateur enregistré le plus récent est micro69

Recherche dans les forums

Utiliser cette méthode afin de trouver rapidement les discussions disponible sur notre forum.


Utiliser le bouton résolu

Dans votre message d'origine
cliquer sur le bouton



Ensuite tout en bas sur
Modifier le titre du sujet
cliquer sur le bouton

Résolu !!!

Ensuite changer l’icône du sujet par le bouton

Voilà pas plus compliqué que cela.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Partenaires


créer un forum



Annuaire referencement


Flux RSS


MSN 

Juin 2017

LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  

Calendrier Calendrier

Obtenir le volume sonore enregistré par le micro

Sam 10 Sep - 13:29 par Nayl.VBcoder

Bonjour,

Je cherche à avoir le volume sonore de la pièce en temps réel, et l'afficher dans une ProgressBar.
Je ne vois pas comme plus décrire mon problème.

Merci de vos réponses.

Petits bidouillages pour ce faciliter La vie ,Astuces et codes pratique

Dim 11 Juin - 12:20 par Berly

Bonjour le Forum  Very Happy.

Lorsque j'écrivais dans mon code Console.Writeline ("Patati,Patata,......) ,j'ai d'abord utilisé le copié collé en changeant la valeur du texte .

Bon d'accord ,c'est bien mais ,ça me saoul un peu ,au fur et a mesure de mes apprentissages ,j'ai découvert les fonctions  Very Happy.

Maintenant je partage celle ci avec vous .

On est la sur un exemple de code en "Mode …

[ Lecture complète ]
Utilisation d'un objet son (Wav)

Jeu 18 Mai - 21:48 par Berly

Bonjour le forum 

Voila , je voudrais savoir si on peut créer un tableau d'objets son.
Difficile de trouver ce genre d'information .

Les sons  sont intégrés en ressources programme.

Merci  Very Happy
Code:
[Module Module1
    Dim son1 = New System.Media.SoundPlayer(My.Resources._0283)
    Dim son2 = New System.Media.SoundPlayer(My.Resources._0863)
    Dim son3 = New …


[ Lecture complète ]
Application

Lun 15 Mai - 19:02 par Berly

Bonjour le forum

Souci dans une nouvelle application.

Total des énoncés =3

Ecriture de l'énoncé 1 dans un Textbox.

Je voulais créer plusieurs problèmes différents.
Dons pour cela j'ai créé 3 sub  Laughing.

Lors de l'événement clic sur le bouton créé pour visualiser le premier énoncé celui ci s'affiche correctement Very Happy .
Suite a cela l'utilisateur donne le résultat ,et un Msgbox …

[ Lecture complète ]
Ressource Vb.net

Ven 5 Mai - 22:29 par Berly

Bonsoir le forum

Toujours a la recherche de ressources ,je partage avec vous une nouvelle ressource  Wink.

Bonne lecture .

https://vbnetpourtous.wordpress.com/2012/12/13/les-variables/

Incorporation d' un Label Nombre de questions et un autre pour le Score,application scolaire

Ven 5 Mai - 21:23 par Berly

Bonsoir le forum

Je viens vers vous ,pour une petite aide.

Voila c'est une application scolaire Tables de multiplications Windows form.

Pour les connaisseurs ,vous comprendrez par le code la construction.

J'aimerai pouvoir incorporer a cette application deux choses .

Un label pour afficher un score.

Un autre label pour afficher le nombre de questions.

A savoir que j'ai inclus dans cette …

[ Lecture complète ]
archiver un classeur

Dim 30 Avr - 10:22 par medjsk

SALUT TOUT LE MONDE

d'abord je vous informe que je comprend pas vraiment VBA excel
et j'ai un problème dans mon fichier ci-joint
lorsque j’archive (bouton archiver) il m'affiche une erreur !!!
si vous pouvez m'aider.merci d'avance

mes salutations

Fichiers joints
Copie de FORMULAIRE-REQUETE.xlsm
Vous n'avez pas la permission de télécharger les fichiers joints.
(218 Ko) Téléchargé 7 fois
If / end if incomprehension

Mer 11 Jan - 14:18 par Silux

Bonjour,

j'ai fait des petits tuto pour certains collègues, hier encore tout fonctionnait et aujourd'hui plantage incompréhensible :

tout bête :

Sub total()

Cells(1, 5).Value = ""
Cells(1, 5).Value = Cells(1, 1).Value * Cells(1, 2).Value * Cells(1, 3).Value * Cells(1, 4).Value

resultat = Cells(1, 5).Value
Cells(2, 1).Value = resultat

        If Cells(1, 1).Value < 25 Then Cells(1, 1).Interior.Color = 255
      


[ Lecture complète ]
Enregistrement dans une base

Mar 1 Nov - 10:55 par La boc

Bonjour à tous et toutes, me revoilà pour une petite question.

J'ai utilisé il y a quelque années VB 2010 avec une base de données sans problème.

Je suis sous W10 64 bit avec Visual studio express 2015 et je tente de faire la même chose mais impossible d'enregistrer dans la base et je ne comprends pas où est mon erreur. Si une âme charitable pouvez éclairer ma lanterne ça serait …

[ Lecture complète ]

enregistrer en .pdf dans plusieurs dossiers

Partagez
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Sam 10 Juin - 12:25

bonjour a tous et toutes du forum
j'ai ce code qui bug surement car il est mal coder pour le .pdf car les chemins sont bons
il bug au bloc .pdf car le document n'est pas enregistrer

Code:
Sub Export_PDF()
    'Dim fichier As String
     Dim F As Worksheet
    Dim Chemin As String
    Dim Client As String
    Dim Sh As Shape
   
        Set F = ThisWorkbook.Sheets(WS_FACTURE)
    Chemin = "C:\Facturation\Facture seule\devispdf\" & Format(Date, "yyyy-mm") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Select Case F.Range("D1")
      Case "DEVIS"
     
        Chemin = "C:\Facturation\Facture seule\devispdf\" & Format(Date, "yyyy-mm") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Case "FACTURE D'ACOMPTE"
        Chemin = "C:\Facturation\Facture seule\facture acomptepdf\" & Format(Date, "yyyy-mm") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Case "FACTURE ACQUITTEE"
        Chemin = "C:\Facturation\Facture seule\facture acquitteepdf\" & Format(Date, "yyyy-mm") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Case "FACTURE"
        Chemin = "C:\Facturation\Facture seule\facturepdf\" & Format(Date, "yyyy-mm") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Case Else
        MsgBox "Impossibilité de déterminer le chemin" & vbCr & "Fin du programme"
        End
      End Select

      Client = F.Range("DOC_TITRE") & " - " & F.Range("DOC_CLIENT")

      Application.ScreenUpdating = False
With ActiveWorkbook
  'code qui enregistre en .pdf '<=====================BUG A CE BLOC DE LIGNE CI DESSOUS
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin, Quality:=xlQualityStandard, _
                          IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                          From:=1, To:=1, OpenAfterPublish:=False
   
       
   End With
  
End Sub


Dernière édition par grisan29 le Sam 10 Juin - 22:54, édité 3 fois


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1766
Date d'inscription : 24/05/2013
Age : 41

Re: enregistrer en .pdf dans plusieurs dossiers

Message par AdminPVB le Sam 10 Juin - 17:24

Bonjour Grisan29,
pour moi le nom du fichier n'est pas complet,il y a le chemin mais il manque le nom
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Sam 10 Juin - 18:33

Bonjour adminPVB Very Happy
excuse moi du retard absence oblige
bon merci de m'avoir ouvert les yeux, Very Happy car maintenant c'est bon cheers

Code:
' Exporter en PDF
 Sub Export_PDF()
    Dim Rep As String
     Dim F As Worksheet
    Dim Chemin As String
    Dim Client As String
    Dim Sh As Shape
    Application.DisplayAlerts = False
    Rep = Application.Proper(MonthName(Month(Date))) '& " " & Year(Date)
        Set F = ThisWorkbook.Sheets(WS_FACTURE)
    Chemin = "C:\Facturation\Facture seule\devispdf\" & Rep & Format(Date, "yy") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Select Case F.Range("D1")
      Case "DEVIS"
      
        Chemin = "C:\Facturation\Facture seule\devispdf\" & Rep & Format(Date, "yy") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Case "FACTURE D'ACOMPTE"
        Chemin = "C:\Facturation\Facture seule\facture acomptepdf\" & Rep & Format(Date, "yy") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Case "FACTURE ACQUITTEE"
        Chemin = "C:\Facturation\Facture seule\facture acquitteepdf\" & Rep & Format(Date, "yy") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Case "FACTURE"
        Chemin = "C:\Facturation\Facture seule\facturepdf\" & Rep & Format(Date, "yy") & "\"
    If Dir(Chemin, vbDirectory) = "" Then
        MkDir Chemin
    End If
      Case Else
        MsgBox "Impossibilité de déterminer le chemin" & vbCr & "Fin du programme"
        End
      End Select

      Client = F.Range("DOC_TITRE") & " - " & F.Range("DOC_CLIENT")

      Application.ScreenUpdating = False

  'code qui enregistre en .pdf
 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Client, Quality:=xlQualityStandard, _
                          IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                          From:=1, To:=1, OpenAfterPublish:=False
    
        
      
End Sub
 
mais il me reste un gros morceaux a faire


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Sam 10 Juin - 18:58

bonsoir adminPVB et le forum
peut t'on faire un mix des 2 codes pour alléger le code
soit enregistrer en même temps en .xlsx et en .pdf
je ne suis pas assez caler pour le faire

Code:
Public Sub envoifacnue()    'sans les boutons et codes

    Dim Rep As String
    Dim F As Worksheet
    Dim Chemin As String
    Dim Client As String
    Dim Sh As Shape
    Application.DisplayAlerts = False
    Rep = Application.Proper(MonthName(Month(Date)))    '& " " & Year(Date)
    Set F = ThisWorkbook.Sheets(WS_FACTURE)

    Select Case F.Range("DOC_TYPE")
    Case DOC_DEVIS
        Chemin = "C:\Facturation\Facture seule\devis\" & Rep & Format(Date, "yy") & "\"
        If Dir(Chemin, vbDirectory) = "" Then
            MkDir Chemin
        End If
    Case DOC_FACT_ACC
        Chemin = "C:\Facturation\Facture seule\facture acompte\" & Rep & Format(Date, "yy") & "\"
        If Dir(Chemin, vbDirectory) = "" Then
            MkDir Chemin
        End If
    Case DOC_FACT_AQUI
        Chemin = "C:\Facturation\Facture seule\facture acquittee\" & Rep & Format(Date, "yy") & "\"
        If Dir(Chemin, vbDirectory) = "" Then
            MkDir Chemin
        End If
    Case DOC_FACT
        Chemin = "C:\Facturation\Facture seule\factures\" & Rep & Format(Date, "yy") & "\"
        If Dir(Chemin, vbDirectory) = "" Then
            MkDir Chemin
        End If
    Case Else
        MsgBox "Impossibilité de déterminer le chemin" & vbCr & "Fin du programme"
        End
    End Select

    Client = F.Range("DOC_TITRE") & " - " & F.Range("DOC_CLIENT")

    Application.ScreenUpdating = False

    F.Copy
    With ActiveWorkbook
        With .Sheets(1)
            For Each Sh In .Shapes
                If Sh.Type <> msoPicture Then
                    Sh.Delete
                End If
            Next Sh
            F.Cells(3, 1) = F.Cells(3, 1).Value
            .Cells.Copy
            .Range("A1").PasteSpecial Paste:=xlPasteValues
            .Range("A1").Select
        End With
        Application.DisplayAlerts = False  ' Si fichier identique présent : l'écrase sans alerte
        .SaveAs Filename:=Chemin & Client & ".xlsx"
        .Close
    End With
    MsgBox "Votre sauvegarde porte la référence : " & " " & Client '& vbCrLf _
         & "Le fichier PDF à été créé sous le nom : " & NomFicPDF
    Application.DisplayAlerts = True
     Export_PDF
End Sub


Dernière édition par grisan29 le Sam 10 Juin - 23:04, édité 1 fois


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1766
Date d'inscription : 24/05/2013
Age : 41

Re: enregistrer en .pdf dans plusieurs dossiers

Message par AdminPVB le Sam 10 Juin - 22:45

Bonsoir,
oui c'est possible,cependant pour moi pour la clarté c'est beaucoup mieux tel qu'il est avec un appel vers une routine qui traite l'export en pdf.
au plus un code est structuré au mieux il tourne,et aussi plus simple à modifier au cas ou ?
moi je ne toucherai pas,l'important dans un programme c'est l'efficacité et non le nombre de ligne.
Bonne soirée.


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Sam 10 Juin - 23:11

bonsoir adminPVB Very Happy
Merci beaucoup de ta réponse Very Happy qui est vrai pour la simplicité de future modification
maintenant il faut que je passe au code "enregistrer sous" et son code qui enregistre bien en .pdf et xlsm mais pas en créant le mois en cours et l'année en cours

Code:
Private Sub CB_EnregistreDansLaBase_Click()
'procédure enregistrement sous PDF rectifié par BrunoM45 de excel-vba
    Dim NomFicXL As String, CheminXL As String
    Dim NomFicPDF As String, CheminPDF As String
    Dim DLig As Long
    Dim shp As Shape
    Dim Sht As Worksheet

    Set Sht = ThisWorkbook.Sheets(WS_FACTURE)
    Sht.Range("I17") = Sht.Range("I17").Value
    If Sht.Range("IS_DOC_SAVED_IN_BASE") Then
        UpdateTitre Sht.Range("DOC_TYPE")
    End If
    Sht.Range("IS_DOC_SAVED_IN_BASE") = True

    DLig = Sht.Range("C" & Rows.Count).End(xlUp).Row
    Dim NomDeFichier As String
    NomDeFichier = Sht.Range("DOC_TITRE").Value & " - " & Sht.Range("DOC_CLIENT").Value
    NomFicXL = NomDeFichier & ".xlsm"
    NomFicPDF = NomDeFichier & ".pdf"
    ' Pour vérification de la valeur
    Select Case UCase(Sht.Range("DOC_TYPE").Value)
    Case DOC_DEVIS: CheminXL = DIR_DEVIS
    Case DOC_FACT: CheminXL = DIR_FACT
    Case DOC_FACT_AQUI: CheminXL = DIR_FACT_AQUI
    Case DOC_FACT_ACC: CheminXL = DIR_FACT_ACC
    Case Else
        MsgBox "Erreur pour trouver le chemin de " & Sht.Range("D1").Value
        Exit Sub
    End Select

    CheminPDF = CheminXL & "PDF\"
    CheminXL = CheminXL & "\"

    ' Sauvegarder le classeur actif dans le chemin et le nom determiné
    ' FileFormat:=xlExcel8,
    ActiveWorkbook.SaveAs Filename:=DIR_WORKSPACE & CheminXL & NomFicXL, _
                          Password:="", WriteResPassword:="", _
                          ReadOnlyRecommended:=False, CreateBackup:=False

    'SetButtonsVisible True
    '**********************************************************************************
    With Sht
        .Activate
        'code a tester et a supprimer si encore probleme
        With .PageSetup
            DLig = Range("suivant").Row
            'MsgBox DerLig
            .PrintArea = "C1:M" & DLig  'Sh.UsedRange.Rows.Count
            '.PrintArea = ""
            'la plage de cellules à imprimer pour chaque page
            .PrintTitleRows = Sht.Range("C17:M18").Address
            '.FitToPagesTall = 1
            .FitToPagesWide = 1
            .Orientation = xlPortrait
            .PrintHeadings = False
            ' "pied de page au centre"
            .CenterFooter = "&16&""Arial,Gras""SIRET : 123456789   -   NAF : 0123p  -   RCS : 00000 -   N° TVA   :  FR00123456789" & Chr(10) & _
                            "assurance décennale n°123456789 de chez untel"

        End With
    End With
    '**********************************************************************************

    ' Exporter en PDF
    ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=DIR_WORKSPACE & CheminPDF & NomFicPDF, Quality:= _
                                                   xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                                   OpenAfterPublish:=False

    SetButtonsVisible True
    envoifacnue
    MsgBox "Votre sauvegarde porte la référence : " & " " & NomFicXL & vbCrLf _
         & "Le fichier PDF à été créé sous le nom : " & NomFicPDF

    ' Fermer le classeur actif
    'ActiveWorkbook.Close

    'Sauvegarde les modifications
    AjouteDocDansLaBase

je pense que c'est de cette partie qu'il faut modifier
Code:
CheminPDF = CheminXL & "PDF\"
    CheminXL = CheminXL & "\"

je ne me vois pas en finir si je commence comme ceci (exemple)

Code:
Case DOC_DEVIS: CheminXL = DIR_DEVIS
'ajout de l'autre code
    Case DOC_DEVIS
        Chemin = "C:\Facturation\Facture seule\devis\" & Rep & Format(Date, "yy") & "\"
        If Dir(Chemin, vbDirectory) = "" Then
            MkDir Chemin
        End If
'fin
    Case DOC_FACT: CheminXL = DIR_FACT
dans ce bloc

Code:
Select Case UCase(Sht.Range("DOC_TYPE").Value)
    Case DOC_DEVIS: CheminXL = DIR_DEVIS
    Case DOC_FACT: CheminXL = DIR_FACT
    Case DOC_FACT_AQUI: CheminXL = DIR_FACT_AQUI
    Case DOC_FACT_ACC: CheminXL = DIR_FACT_ACC
    Case Else


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Dim 11 Juin - 0:16

bonsoir admin
j'ai commencer comme ceci pour un devis

Code:
Dim rep As String
Application.DisplayAlerts = False
    rep = Application.Proper(MonthName(Month(Date)))


et aussi
 
Code:
CheminPDF = CheminXL & "PDF\" & rep
    CheminXL = CheminXL & "\" & rep



ce qui n'est pas trop mal
mais ca n'enregistre pas bien ca mets "juinDEVIS N° ......" au lieu de créer un dossier juin

http://vbaddict.altervista.org/Fichier_upload/grisan29/[b]enregistrement_moyen.jpg[/b]
comprends pas pourquoi lien ne fonctionne pas


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1766
Date d'inscription : 24/05/2013
Age : 41

Re: enregistrer en .pdf dans plusieurs dossiers

Message par AdminPVB le Dim 11 Juin - 7:01

Bonjour,
oui c'est pas trop mal,month(date) est suffisant pour rep
Ensuite pour la création d'un nouveau dossier tu dois utiliser l'instruction Mkdir
Qui veux dire make directory (faire un répertoire)
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Dim 11 Juin - 7:59

bonjour AdminPvb
merci de ta réponse
en fait le bloc avec vbdirectory viens du code enregistrer feuille nu qui lui créer un dossier 2017 dans lequel il y a a le mois pour y mettre les documents
je suis en cours de voir comment faire depuis 1h environ pour m'apercevoir que même le code "envoi nu" ne créer pas
le dossier année mais juste le mois avec les 2 derniers chiffres de l'année "juin17" et dedans vont les documents, ce qui est déjà pas mal

un dossier juin17 est créer dans chaque dossier "devis","devispdf", facture" "facturepdf" etc ...

je ne sais pas ou mettre les mkdir car il y des connections avec le module de classe
avec ce bloc

Code:
Case DOC_DEVIS: CheminXL = DIR_DEVIS
    Case DOC_FACT: CheminXL = DIR_FACT
    Case DOC_FACT_AQUI: CheminXL = DIR_FACT_AQUI
    Case DOC_FACT_ACC: CheminXL = DIR_FACT_ACC


et dans le module M_constante il y a

Code:
Public Const DIR_WORKSPACE As String = "C:\Facturation"
Public Const DIR_DEVIS As String = "\Devis"
Public Const DIR_FACT As String = "\Facture"
Public Const DIR_FACT_AQUI As String = "\Factureacquittee"
Public Const DIR_FACT_ACC As String = "\Factureacompte"


et plus bas

Code:
Enum TypeDeDoc
    DOC_FACT = 0
    DOC_FACT_ACC = 1
    DOC_FACT_AQUI = 2
    DOC_DEVIS = 3
End Enum
Fichiers joints
enregistrement moyen.jpg
Vous n'avez pas la permission de télécharger les fichiers joints.
(42 Ko) Téléchargé 3 fois


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Dim 11 Juin - 18:07

bonjour AdminPVB et le forum
en furetant le net j'ai appris une chose c'est que dans vba il y a Débogage puis Compiler VBAProject qui dit quand une variable est manquante
et dans mon classeur a multipages il y en as quelques bugs, mais quand je cherche la connexion avec ctrl+f
je voie que le contact est dans un autre userform
et cela est dans 2 userforms de saisie des montants pour facture acquittée et saisie d'un paiement
les  2 usf ont été copier l'un avec l'autre et donc des morceaux sont dans l'un et d'autres dans l'autre

de plus dans mes essais de sauvegardes le factures acquittée vont dans le dossier "factures" au lieu de "facture acquittee"
comme sur celui que j'utilise d'ailleurs

toujours dans le modules M_gestion il y aussi ceci , mais par quoi il est lancer je sais pas et je vais chercher

Code:
Sub find_dossier()
    Dim mois$, annee$
    Dim schemin$
    annee = "\" & Year(Date)
    ' mois = "\" & Month(Date) & "\"
    mois = Format(Date, "mmmm") & "\"
    schemin = ThisWorkbook.Path & annee
    If Dir(schemin, vbDirectory) = "" Then MkDir schemin
    schemin = ThisWorkbook.Path & annee & mois
    If Dir(schemin, vbDirectory) = "" Then MkDir schemin
End Sub


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
Berly
Step_Two_VBA
Step_Two_VBA

Localisation : Rodez(Aveyron)
Messages : 119
Date d'inscription : 23/04/2017
Age : 52

Re: enregistrer en .pdf dans plusieurs dossiers

Message par Berly le Dim 11 Juin - 20:18

Bonjour Grisan .

Peux tu me dire si ces variables représentent des Noms de champs  Question.

J'essaye de comprendre car les déclarations ne sont pas typées ,Le $ représente Quoi  Question
Code:
[Sub find_dossier()

Dim mois$, annee$[size=12][/size]
Dim schemin$]

Expression Grisan:
bonjour AdminPVB et le forum
en furetant le net j'ai appris une chose c'est que dans vba il y a Débogage puis Compiler VBAProject qui dit quand une variable est manquante.



Sur Excel y a t'il les test Unitaire  Question

Merci .
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Dim 11 Juin - 20:25

bonsoir Berly
je vais te donner un lien vers ce type de variables que je n'utilise que peux et comme de dernier code mis n'est pas de moi
type de variables

cela donne pour ces lignes String pour ($)
Code:
Dim mois$, annee$
    Dim schemin$

dim mois as string =
Code:
Dim mois$


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
Berly
Step_Two_VBA
Step_Two_VBA

Localisation : Rodez(Aveyron)
Messages : 119
Date d'inscription : 23/04/2017
Age : 52

Re: enregistrer en .pdf dans plusieurs dossiers

Message par Berly le Dim 11 Juin - 20:35



      Année est une variable Date

     (Ta variable année est déclarée en tant que type String )voir code



    Date:


    Les variables de type Date représentent des dates comprises entre le 1er janvier 100 et le 31 décembre 9999, et des heures allant de 0:00:00 à 23:59:59




    String ($)Les chaînes de longueur variable peuvent contenir environ 2 milliards (2^31) de caractères


A  voir .
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Lun 12 Juin - 5:43

bonjour AdminPVB, berly et le forum
j'ai fait un "mix"des 2 codes et je me trouve avec un chemin d'accès introuvable et pourtant le survol de la souris montre bien le chemin correct
ce bug est déclenché dans Mkdir par une erreur 76

Code:
Public Sub envoifacnue()    'sans les boutons et codes
    Dim mois As String, annee As String
    'Dim rep As String
    Dim F As Worksheet
    Dim Chemin As String
    Dim Client As String
    Dim Sh As Shape
    annee = "\" & Year(Date)
     mois = "\" & MonthName(Month(Date)) & "\"
    
    Application.DisplayAlerts = False
    'rep = Application.Proper(MonthName(Month(Date)))    '& " " & Year(Date)
    Set F = ThisWorkbook.Sheets(WS_FACTURE)

    Select Case F.Range("DOC_TYPE")
    Case DOC_DEVIS
        Chemin = "C:\Facturation\Facture seule\devis" & annee & mois '& Format(Date, "yy") & "\"
        If Dir(Chemin, vbDirectory) = "" Then
            MkDir Chemin '<===========================bug ici
        End If

ai je oublier quelque chose ?
GFmdYnY6zW6_test-enregistrer1.jpg

bon j'ai trouvé, il y avais juste un "\" &  de trop dans cette ligne

Code:
mois = MonthName(Month(Date)) & "\"



_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
Berly
Step_Two_VBA
Step_Two_VBA

Localisation : Rodez(Aveyron)
Messages : 119
Date d'inscription : 23/04/2017
Age : 52

Re: enregistrer en .pdf dans plusieurs dossiers

Message par Berly le Lun 12 Juin - 17:19

Bonjour le Forum Grisan et AdminPvb  Very Happy.

Le code est plus clair Maintenant  ,Le chemin est également tout Tracé   cheers .

Code:
[ Chemin = "C:\Facturation\Facture seule\devis" & annee & mois '& Format(Date, "yy") & "\"]

Chemin = "C:\Facturation\Facture seule\devis" & annee & mois '& Format(Date, "yy") & "\"

Peut tu M'expliquer l' apostrophe avant le  & que j'ai mis en bleu  Souligné  Question.


Merci.


Bravo Grisan  Wink.
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Lun 12 Juin - 19:57

bonsoir Berly

pour ce qui est de l'apostrophe c'est pour mettre en commentaire la suite
car avant de mettre année et mois j'utilisais ce qui suit l'apostrophe

remonte au code mis dans le 1er post et tu verra


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
Berly
Step_Two_VBA
Step_Two_VBA

Localisation : Rodez(Aveyron)
Messages : 119
Date d'inscription : 23/04/2017
Age : 52

Re: enregistrer en .pdf dans plusieurs dossiers

Message par Berly le Lun 12 Juin - 20:24

Merci Grisan

Je me disais ,tiens il y a un intrus   Laughing Laughing Laughing.

Ouf on est sauvé  Wink.
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Lun 12 Juin - 20:59

bonsoir Berly
tu n'avais jamais mis de commentaires encore, regarde les petits codes que j'ai mis en exemple, ils sont rare ceux qui n'ont pas de commentaire


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
Berly
Step_Two_VBA
Step_Two_VBA

Localisation : Rodez(Aveyron)
Messages : 119
Date d'inscription : 23/04/2017
Age : 52

Re: enregistrer en .pdf dans plusieurs dossiers

Message par Berly le Lun 12 Juin - 21:06

Je suis désolé si je ne met pas le bonsoir ou bonjour a chaque message ,ayant déjà eu contact dans les heures précédentes  Wink.

Mais si Grisan ,mais en général  les commentaires je ne les met pas sur la même ligne que le code .

Ah oui ,en fait tu utilisais le code commenté ,avant de le modifier  Exclamation

Désolé je n'avais pas compris .

De manière générale je n'utilise pas de commentaires pour la relecture de mon code ,j'arrive a me relire.

Sauf quand la manière de construction n'est pas encore acquise pour moi .

Je commente pour les autres personnes 

Question d'habitudes Wink .
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 717
Date d'inscription : 25/07/2013
Age : 54

Re: enregistrer en .pdf dans plusieurs dossiers

Message par grisan29 le Jeu 15 Juin - 20:22

bonsoir Berly, adminPvb et le forum
maintenant il me reste le code du post 6 a modifier pour que l'enregistrement se fasse comme le code envoi seul


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
Berly
Step_Two_VBA
Step_Two_VBA

Localisation : Rodez(Aveyron)
Messages : 119
Date d'inscription : 23/04/2017
Age : 52

Re: enregistrer en .pdf dans plusieurs dossiers

Message par Berly le Ven 16 Juin - 15:35

Bonjour Grisan et AdminPvb.

Tiens nous au courant pour la suite .

Bravo  a toi  Wink;

Contenu sponsorisé

Re: enregistrer en .pdf dans plusieurs dossiers

Message par Contenu sponsorisé


    La date/heure actuelle est Jeu 22 Juin - 14:11