VBA userform renommer photo
Résolu/Fermé
kevina
-
Modifié par kevina le 29/06/2015 à 04:13
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 3 juil. 2015 à 08:09
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 3 juil. 2015 à 08:09
A voir également:
- VBA userform renommer photo
- Renommer plusieurs fichiers en même temps - Guide
- Partage photo - Guide
- Photo aérienne de ma maison - Guide
- Traduction photo gratuit - Guide
- Photo de profil - Guide
3 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
29 juin 2015 à 09:13
29 juin 2015 à 09:13
Bonjour,
comme ceci:
comme ceci:
Dim nouveaunom As String Dim chemin, chemindestination As String chemin = "C:\Users\....\Documents\azerty.jpg" ' a adapter chemindestination = "C:\Users\....\Documents\" ' a adapter nouveaunom = Range("Q3").Value Name chemin As chemindestination & nouveaunom & ".jpg"
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
1 juil. 2015 à 08:26
1 juil. 2015 à 08:26
Le plus simple c'est de mettre un message avant la macro de renommage, demandant à l'utilisateur de fermer l'application.
Bonjour,
Merci beaucoup pour votre aide ,j'ai essayé mais il restait des bugs des fois. Du coup j'ai trouvé la solution de diviser mon code en deux, c'est à dire la prise de photo s'effectue lorsque l'utilisateur clique sur le bouton "prendre une photo", et la dernière photo s'archive lorsqu'il clique sur "Next". Ca fonctionne bien mais le soucis vient ensuite, le bouton Next servait déjà pour changer d'userform et vérifier que l'utilisateur est bien écrit un commentaire (*). Maintenant lorsque que je clique sur Next, l'userform d'après ne répond plus du tout, je ne peux rien faire, ni cliquer ni rentrer des valeurs dans l'userform suivant... :/ J'ai l'erreur 91. Pensez vous qu'elle puisse venir de ma dernière manipulation?
Je vous remercie,
Kevina
BOUTON "prendre une photo" :
Private Sub CommandButton2_Click()
Dim picture_number As Integer
Dim FileSys As FileSystemObject
Dim objFile As Object
'Dim FileSys As Object
Dim myFolder As Folder
Dim strFilename As String
Dim t As String
Dim dteFile As Date
Dim picture As String
Dim newname As String
Dim newnamedate As String
Dim dDate As Date
Dim myDir, myDirdestination, Dir As String
I = Range("Q3")
'set path for files - change for your folder
myDir = "C:\Users\...l\Addons\camera\" 'using tablet
myDirdestination = "C:\Users\..\Addons\new_picture" 'using tablet
'to open Getac Camera (you need to click two times on button)
'Shell "C:\Program Files (x86)\Getac\G-Camera\GetacCamera3.exe", vbMaximizedFocuse 'using tablet
MsgBox "Please close the application"
'to find the last picture taking click on Next button
End Sub
BOUTON NEXT :
Private Sub CommandButton1_Click()
Dim alarm_num As Integer
Dim line As Integer
Dim k As Integer
Dim picture_number As Integer
Dim FileSys As FileSystemObject
Dim objFile As Object
Dim FileSys As Object
Dim myFolder As Folder
Dim strFilename As String
Dim t As String
Dim dteFile As Date
Dim picture As String
Dim newname As String
Dim newnamedate As String
Dim dDate As Date
Dim myDir, myDirdestination, Dir As String
I = Range("Q3")
'set path for files - change for your folder
'Dir = "C:\Users\...\Addons\camera\" 'using tablet
'myDirdestination = "C:\Users\...\Addons\new_picture\" 'using tablet
'To find the last picture taking:
' set up filesys objects
Set FileSys = New FileSystemObject
Set myFolder = FileSys.GetFolder(myDir)
'loop through each file and get date last modified. If largest date then store Filename
dteFile = DateSerial(1900, 1, 1)
For Each objFile In myFolder.Files
If objFile.DateLastModified > dteFile Then
dteFile = objFile.DateLastModified
' strFilename = objFile.Name
End If
Next objFile
'move picture
patrol = ActiveWorkbook.Name
newname = patrol & Range("Q3").Value
newnamedate = Day(Date) & "/" & Month(Date) & "/" & Year(Date) & Hour(Date) & Minute(Date) & Second(Date) & newname
jour = Day(Date)
mois = Month(Date)
annee = Year(Date)
newnamedate = jour & mois & annee & newname
newname = Range("E" & I).Value
Name myDir & strFilename As myDirdestination & newname & ".jpg"
Range("H" & I).Value = newnamedate
'Ancien programme non modifié (*)
If TextBox1.Value = "" Then
MsgBox "Please, add a comment"
Else
Sheets("sheet1").Select
floor_name = name_usf.Caption
Range("J" & step).Value = Alarm_not_ok.TextBox1
Unload Alarm_not_ok
End If
End Sub
Merci beaucoup pour votre aide ,j'ai essayé mais il restait des bugs des fois. Du coup j'ai trouvé la solution de diviser mon code en deux, c'est à dire la prise de photo s'effectue lorsque l'utilisateur clique sur le bouton "prendre une photo", et la dernière photo s'archive lorsqu'il clique sur "Next". Ca fonctionne bien mais le soucis vient ensuite, le bouton Next servait déjà pour changer d'userform et vérifier que l'utilisateur est bien écrit un commentaire (*). Maintenant lorsque que je clique sur Next, l'userform d'après ne répond plus du tout, je ne peux rien faire, ni cliquer ni rentrer des valeurs dans l'userform suivant... :/ J'ai l'erreur 91. Pensez vous qu'elle puisse venir de ma dernière manipulation?
Je vous remercie,
Kevina
BOUTON "prendre une photo" :
Private Sub CommandButton2_Click()
Dim picture_number As Integer
Dim FileSys As FileSystemObject
Dim objFile As Object
'Dim FileSys As Object
Dim myFolder As Folder
Dim strFilename As String
Dim t As String
Dim dteFile As Date
Dim picture As String
Dim newname As String
Dim newnamedate As String
Dim dDate As Date
Dim myDir, myDirdestination, Dir As String
I = Range("Q3")
'set path for files - change for your folder
myDir = "C:\Users\...l\Addons\camera\" 'using tablet
myDirdestination = "C:\Users\..\Addons\new_picture" 'using tablet
'to open Getac Camera (you need to click two times on button)
'Shell "C:\Program Files (x86)\Getac\G-Camera\GetacCamera3.exe", vbMaximizedFocuse 'using tablet
MsgBox "Please close the application"
'to find the last picture taking click on Next button
End Sub
BOUTON NEXT :
Private Sub CommandButton1_Click()
Dim alarm_num As Integer
Dim line As Integer
Dim k As Integer
Dim picture_number As Integer
Dim FileSys As FileSystemObject
Dim objFile As Object
Dim FileSys As Object
Dim myFolder As Folder
Dim strFilename As String
Dim t As String
Dim dteFile As Date
Dim picture As String
Dim newname As String
Dim newnamedate As String
Dim dDate As Date
Dim myDir, myDirdestination, Dir As String
I = Range("Q3")
'set path for files - change for your folder
'Dir = "C:\Users\...\Addons\camera\" 'using tablet
'myDirdestination = "C:\Users\...\Addons\new_picture\" 'using tablet
'To find the last picture taking:
' set up filesys objects
Set FileSys = New FileSystemObject
Set myFolder = FileSys.GetFolder(myDir)
'loop through each file and get date last modified. If largest date then store Filename
dteFile = DateSerial(1900, 1, 1)
For Each objFile In myFolder.Files
If objFile.DateLastModified > dteFile Then
dteFile = objFile.DateLastModified
' strFilename = objFile.Name
End If
Next objFile
'move picture
patrol = ActiveWorkbook.Name
newname = patrol & Range("Q3").Value
newnamedate = Day(Date) & "/" & Month(Date) & "/" & Year(Date) & Hour(Date) & Minute(Date) & Second(Date) & newname
jour = Day(Date)
mois = Month(Date)
annee = Year(Date)
newnamedate = jour & mois & annee & newname
newname = Range("E" & I).Value
Name myDir & strFilename As myDirdestination & newname & ".jpg"
Range("H" & I).Value = newnamedate
'Ancien programme non modifié (*)
If TextBox1.Value = "" Then
MsgBox "Please, add a comment"
Else
Sheets("sheet1").Select
floor_name = name_usf.Caption
Range("J" & step).Value = Alarm_not_ok.TextBox1
Unload Alarm_not_ok
End If
End Sub
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
3 juil. 2015 à 08:09
3 juil. 2015 à 08:09
Avec ceci tu fermes l'userForm:
Unload Alarm_not_ok
30 juin 2015 à 04:31
1 juil. 2015 à 04:55
Après plusieurs tests je remarque qu'il y a encore un problème. En effet excel n'attend pas que les photos soient prises par l'utilisateur pour les déplacer. Je pense mettre une condition du genre : "pour continuer attend que utilisateur ferme l'application de l'appareil photo de la tablette".
je pensais m'inspirer de ce genre de commande :
Do While CurrentProject.AllForms(logiciel).Isloaded: DoEvents: Loop
As tu une idée pour l'adapter à un logiciel externe ?
Merci,