[Visual Basic]PB fonction vb sous excel
bezourox
Messages postés
730
Date d'inscription
Statut
Membre
Dernière intervention
-
jc090476 -
jc090476 -
bonjour a tous .
Voila la ou je travaille, un mec a developpé il y a un packet de temps une application sous excel qui permet aux secretaires de gerer un planning, faire le suivi des gens, etc ...
bref ce qui est important c'est la suite .
Lorsque la personne veut archiver tous les dossier terminés, elle lance une macro et voila le retour d'erreur :
Commande non disponible (en travaux).
J'ai réussi a trouver la fonction dans le code de l'appli (usine a gaz:p)
et voila le code :
Sub DossierArchiver()
MsgBox ("Commande non disponible (en travaux).")
Exit Sub
Sheets("ACTIVITE").Select
Set Fs = CreateObject("Scripting.FileSystemObject")
If LectureSeule(ActiveWorkbook.FullName) = True Then
InfoLS.Show
Exit Sub
End If
Worksheets("ACTIVITE").Range("D1").Select
For i = 256 To 7 Step -1
If LCase(Cells(3, i)) Like "*" & "terminé" & "*" Then
Cells(3, i).Select
ActiveCell.EntireColumn.Select
CodeDossier = ActiveCell.EntireColumn.Cells(4, 1).Value
NomAction = ActiveCell.EntireColumn.Cells(10, 1).Value
FicSource = ActiveWorkbook.Path & "\Actions\" & ActiveCell.EntireColumn.Cells(4, 1).Value & ".xls"
FicDestination = ActiveWorkbook.Path & "\Archives\" & ActiveCell.EntireColumn.Cells(4, 1).Value & ".xls"
Application.Run "DossierArchiverDetail"
End If
Next i
On Error Resume Next
CodeArchive = ActiveCell.EntireColumn.Cells(4, 1).Value
Fs.MoveFile FicSource, FicDestination
If Err.Number = 53 Then
Msg = "Le fichier [" & CodeArchive & ".xls] est absent, "
MsgBox Msg, vbExclamation, "Supprimer un dossier..."
Err.Clear ' Efface les champs d'objet Err
End If
Afficher = _
MsgBox("Pas d'autre dossier à archiver !", _
vbOKOnly + vbExclamation, _
" Archiver un dossier")
Range("D1").Select
End Sub
je taquine pas VBA mais on dirait que des que la fonction se lance, le message doit apparaitre et qu'on sort de la fonction .
Quelqu'un peut m'expliquer ?
Apparament cette fonction a toujours marchée correctement et personne ne peut faire de modif puisque le code est protegé par un mot de passe .
Voila la ou je travaille, un mec a developpé il y a un packet de temps une application sous excel qui permet aux secretaires de gerer un planning, faire le suivi des gens, etc ...
bref ce qui est important c'est la suite .
Lorsque la personne veut archiver tous les dossier terminés, elle lance une macro et voila le retour d'erreur :
Commande non disponible (en travaux).
J'ai réussi a trouver la fonction dans le code de l'appli (usine a gaz:p)
et voila le code :
Sub DossierArchiver()
MsgBox ("Commande non disponible (en travaux).")
Exit Sub
Sheets("ACTIVITE").Select
Set Fs = CreateObject("Scripting.FileSystemObject")
If LectureSeule(ActiveWorkbook.FullName) = True Then
InfoLS.Show
Exit Sub
End If
Worksheets("ACTIVITE").Range("D1").Select
For i = 256 To 7 Step -1
If LCase(Cells(3, i)) Like "*" & "terminé" & "*" Then
Cells(3, i).Select
ActiveCell.EntireColumn.Select
CodeDossier = ActiveCell.EntireColumn.Cells(4, 1).Value
NomAction = ActiveCell.EntireColumn.Cells(10, 1).Value
FicSource = ActiveWorkbook.Path & "\Actions\" & ActiveCell.EntireColumn.Cells(4, 1).Value & ".xls"
FicDestination = ActiveWorkbook.Path & "\Archives\" & ActiveCell.EntireColumn.Cells(4, 1).Value & ".xls"
Application.Run "DossierArchiverDetail"
End If
Next i
On Error Resume Next
CodeArchive = ActiveCell.EntireColumn.Cells(4, 1).Value
Fs.MoveFile FicSource, FicDestination
If Err.Number = 53 Then
Msg = "Le fichier [" & CodeArchive & ".xls] est absent, "
MsgBox Msg, vbExclamation, "Supprimer un dossier..."
Err.Clear ' Efface les champs d'objet Err
End If
Afficher = _
MsgBox("Pas d'autre dossier à archiver !", _
vbOKOnly + vbExclamation, _
" Archiver un dossier")
Range("D1").Select
End Sub
je taquine pas VBA mais on dirait que des que la fonction se lance, le message doit apparaitre et qu'on sort de la fonction .
Quelqu'un peut m'expliquer ?
Apparament cette fonction a toujours marchée correctement et personne ne peut faire de modif puisque le code est protegé par un mot de passe .
A voir également:
- [Visual Basic]PB fonction vb sous excel
- Fonction si et excel - Guide
- Visual basic - Télécharger - Langages
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Microsoft 365 basic - Accueil - Microsoft Office
3 réponses
En effet, le message est affiché, puis la fonction s'arrête. Tout le code après le "Exit Sub" ne sera jamais exécuté. Le programmeur était probablement en train de le modifier, et il a procédé de la sorte pour être sûr qu'il ne soit exécuté (et ne fasse potentiellement des dégâts).
Pour trouver pourquoi ce message apparaît, tu dois trouver où dans le code la fonction "DossierArchiver" est appelée. Cela te permettra peut-être de comprendre pourquoi ce message apparaît soudainement.
Laurent
Pour trouver pourquoi ce message apparaît, tu dois trouver où dans le code la fonction "DossierArchiver" est appelée. Cela te permettra peut-être de comprendre pourquoi ce message apparaît soudainement.
Laurent