IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Renommer un fichier copié (FileCopy), via Textbox, en évitant les symbol [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 79
    Par défaut Renommer un fichier copié (FileCopy), via Textbox, en évitant les symbol
    Bonjour et merci pour votre patience
    Avec l’aide du forum ont à réussi à copier une image et la coller dans un répertoire spécifique.
    La problématique : et de renommer le fichier coller comme la description du contenu de la Textbox14


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub CommandButton19_Click()
     
    Dim NomFichier As String
    Dim Fichier
     
    Fichier = Application.GetOpenFilename()
     
    If Fichier <> False Then
     
       NomFichier = Mid(Fichier, InStrRev(Fichier, "\") + 1)
     
     
        FileCopy Fichier, ThisWorkbook.Path & "\Information\Photos\Userform\" & NomFichier
     
     MsgBox "Photo attribuer"
     
    Else
    MsgBox "Photo non attribuer"
    End If
     
    End Sub
    merci, et bonne continuation.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 79
    Par défaut
    la problématique est résolu, mais je doit empêcher l'écriture des symboles \/:*?"<>|


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub CommandButton19_Click()
    Dim NomFichier As String
    Dim Fichier
     
    Fichier = Application.GetOpenFilename(",*.jpg")
     
    If Fichier <> False Then
     
    NomFichier = Mid(Fichier, InStrRev(Fichier, "\") + 1)
     
     
    FileCopy Fichier, ThisWorkbook.Path & "\Information\Photos\Userform\" & TextBox14.Text & ".jpg"
     
    MsgBox "Photo attribuer"
    Else
    MsgBox "Photo non attribuer"
    End If
     
    End Sub

  3. #3
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, via cette fonction par exemple, il y en d'autres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Function NomFichierValide(sNomFichier As String) As String
    Const CaracInterdits As String = """*/:<>?[\]|"
    Dim i As Long, Car As String * 1
    Dim sNomVal As String
        sNomVal = Trim$(sNomFichier)
        For i = 1 To Len(CaracInterdits)
            Car = Mid$(CaracInterdits, i, 1)
            sNomVal = Replace(sNomVal, Car, "")
        Next i
        NomFichierValide = sNomVal
    End Function

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 79
    Par défaut
    Merci encore kiki29 de votre aide précieuses;
    J’ai copier la fonction dans un module, mais je n'ai aucune idée à adapter la fonction à Textbox14 (Private Sub TextBox14_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger))

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, à priori plutôt comme ceci, à tester dans ton contexte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Explicit
     
    Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        TextBox4.Text = NomFichierValide(TextBox4.Text)
    End Sub

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Décembre 2013
    Messages : 79
    Par défaut
    merci kiki29, j'ai tester ton code, mais il ne fonctionne pas dans mon cas

    j'ai trouver une autre solution avec Table des caractères ASCII

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub TextBox14_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 92 Or KeyAscii = 47 Or KeyAscii = 58 Or KeyAscii = 63 Or KeyAscii = 34 Or KeyAscii = 60 Or KeyAscii = 62 Then
     
    KeyAscii = 0
    Beep
    End If
     
    End Sub
    merci infiniment kiki29

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. (upload) renommer une image
    Par debutantasp dans le forum Langage
    Réponses: 1
    Dernier message: 04/06/2009, 09h13
  2. Renommer une image
    Par Interface dans le forum Langage
    Réponses: 2
    Dernier message: 13/01/2009, 16h44
  3. Inserer une image dans un textbox via Copier -> Coller ?
    Par XpFive dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/06/2008, 23h24
  4. Réponses: 11
    Dernier message: 25/02/2007, 01h56
  5. [Upload] Renommer une image uploadée
    Par Empty_body dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 06h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo