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

VB.NET Discussion :

Conversion VBA vers VB express 2010 [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Par défaut Conversion VBA vers VB express 2010
    Bonjour,
    j'ai un problème en Visual Basic de Visual Studio (express 2010):
    J'essaye de faire une "moulinette" (pour des besoins vidéo) pour changer la date de modification d'une grande quantité d'images avec un incrément déterminé.
    J'ai réussi à le faire en VBA (sous Excel).
    Pour le traduire en VB j'ai ajouté "<DllImport("kernel32.dll",...", utilisé "Structure SYSTEMTIME", mis des "Dim" pour les déclarations de variables, "With" pour le CreateObject et remplacé les cellules par des TextBox.
    Sans succès...
    Je cherche donc un peu d'aide,
    merci

    Voici mon code VBA fonctionnel:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Private Declare PtrSafe Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
    Private Declare PtrSafe Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
    Private Type SYSTEMTIME
    wYear As Integer
    wMonth As Integer
    wDayOfWeek As Integer
    wDay As Integer
    wHour As Integer
    wMinute As Integer
    wSecond As Integer
    wMilliseconds As Integer
    End Type
    Sub SetDateTime()
        Dim oFile As Object
        Dim Text5, Texte3, CheminFichier4 As String
        Dim rang1, rang2, num As Integer
        Dim HeureDepart As Date
        Dim MyTime As SYSTEMTIME
        Dim SysTime As SYSTEMTIME
        Dim DeltaH As Integer
        GetLocalTime MyTime
        GetSystemTime SysTime
        DeltaH = MyTime.wHour - SysTime.wHour
        CheminFichier4 = [A4]
        Texte3 = CheminFichier4 & "Image1.png"
        rang1 = 1
        rang2 = [A2]
        HeureDepart = [A3]
        HeureDepart = DateAdd("h", -DeltaH, HeureDepart)
        For num = rang1 To rang2
            HeureDepart = DateAdd("s", 5, HeureDepart)
                Texte5 = Format(num, "0000") & ".png" 
                          Texte4 = CheminFichier4 & Texte5
                FileCopy Texte3, Texte4
            Set oFile = CreateObject("Shell.Application").Namespace("E:\ImagesCreees\").ParseName(Texte5)
            oFile.ModifyDate = FormatDateTime(HeureDepart, 2) & " " & FormatDateTime(HeureDepart, 3)
            Set oFile = Nothing
        Next
    End Sub
    Merci pour la modification de mon post, désolé, je n'avais pas compris le fonctionnement, maintenant c'est ok...

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 510
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 510
    Par défaut
    le sans succès veut dire quoi ? des erreurs ?
    Comme VBA et VB.NET ne sont pas vraiment les mêmes langages, faire une traduction "bête" n'est pas forcément une bonne idée

    Sinon voir ce code https://codes-sources.commentcamarch...n-d-un-fichier (pas testé)

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Par défaut Merci
    Excellent!!! C'est exactement ce que je recherchais, merci beaucoup!
    Le code ne s'exécutait même pas, erreurs avant même la première instruction, idem en mode débogage.
    Effectivement, ce que j'avais fait en VB était fonctionnel sauf tout ce qui concernait les instructions système des dates:
    - le calcul de la différence entre l'heure système et l'heure UTC
    - la modification des heures et dates des fichiers.
    Là j'ai testé la solution proposée et ça fonctionne donc je vais étudier le code.
    Encore merci umfred.

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

Discussions similaires

  1. conversion MatLab vers VBA
    Par Etudiant_enise dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/07/2012, 15h29
  2. vba (word) vers visual studio 2010
    Par knarf44 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 02/08/2011, 13h49
  3. [VBA-E] macro conversion excel vers csv
    Par abdelhamidem dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/10/2008, 16h48
  4. Conversion Vb6 Vers Vba
    Par thunderpat dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 29/03/2007, 11h49
  5. [VBA-E] macro conversion excel vers csv
    Par baboune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2004, 09h23

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