Macro excel ne fonctionne plus ???
Résolu
lucasp
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Gord21 Messages postés 918 Date d'inscription Statut Membre Dernière intervention -
Gord21 Messages postés 918 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'avais une macro qui fonctionnait, j'ai rajouté un IF au début qui ne fonctionnait pas, mais après l'avoir enlevé, ce qui fonctionnait avant ne fonctionne plus, et selon moi, il n'y a pas de raison ???
Ce qui est en gras c'est ce que j'ai rajouter et qui ne fonctionnais pas. Ce qui est souligné c'est ce qui fonctionnait mais ne fonctionne plus maintenent.
Parfois c'est une erreur d'incompatibilité de type et d'autre c'est une erreur défini par l'application ou par l'objet. Et ce selon moi aléatoirement, 1 teste me donne nue erreur et immédiatement après en faisant la même chose, ca me donne une erreur différenet
Merci et m'aider je ne comprend plus rien...
J'avais une macro qui fonctionnait, j'ai rajouté un IF au début qui ne fonctionnait pas, mais après l'avoir enlevé, ce qui fonctionnait avant ne fonctionne plus, et selon moi, il n'y a pas de raison ???
Private Sub CommandButton1_Click()
Dim ol As New Outlook.Application
Dim olmail As MailItem
Dim CurrFile As String
If Cells(var, 2).Value = "" Then MsgBox ("Vous devez mettre un choix dans la case B" & var)
ElseIf Cells(var, 2).Value = "Nouveau" Then
If Cells(var, 3).Value = "Oui" Then
If Cells(var, 7).Value = "Cote demandée" Or "Partielle approuvée" Then
MsgBox ("La cote a déjà été demandée")
Else
MsgBox ("Vous devez envoyer le formulaire de sécurité par fax!")
End If
Else
MsgBox ("Les ressources humaines s'occupent de la sécurité des employés rémunérés!")
End If
ElseIf Cells(var, 2).Value = "Réembauche" Then
If Cells(var, 3).Value = "Oui" Then
If Cells(var, 7).Value = "Cote demandée" Or "Partielle approuvée" Then
MsgBox ("La cote a déjà été demandée")
Else
MsgBox ("Vous devez envoyer le formulaire de sécurité par fax!")
End If
Else
MsgBox ("Les ressources humaines s'occupent de la sécurité des employés rémunérés!")
End If
ElseIf Cells(var, 2).Value = "Prolongation" Then
If Cells(var, 3).Value = "Oui" Then
If Cells(var, 7).Value = "Cote demandée" Or "Partielle approuvée" Then MsgBox ("La cote a déjà été demandée")
Else
remun = "Non rémunéré"
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olmailItem)
With olmail
.To = "xxxxxxxxxxxxxxx@NRCan-RNCan.gc.ca"
.Subject = "Prolongation - " & Cells(var, 1).Value
.Body = "Bonjour," & Chr(13) & Chr(13) & "Prolongation de :" & Chr(13) & Cells(var, 1).Value & Chr(13) & Cells(var, 4).Value & " au " & Cells(var, 5).Value & Chr(13) & "Superviseur : " & Cells(var, 6).Value & Chr(13) & remun & Chr(13) & Chr(13) & "Merci et bonne journée!"
.Display
End With
Cells(var, 7).Value = "Cote demandée"
End If
Else
MsgBox ("Les ressources humaines s'occupent de la sécurité des employés rémunérés!")
End If
ElseIf Cells(var, 2).Value = "Départ" Then
If Cells(var, 3).Value = "Oui" Then
If Cells(var, 7).Value = "Cote demandée" Or "Partielle approuvée" Then
MsgBox ("La cote a déjà été demandée")
Else
remun = "Non rémunéré"
Set ol = New Outlook.Application
Set olmail = ol.CreateItem(olmailItem)
With olmail
.To = "xxxxxxxxxxxxxxxxxx@NRCan-RNCan.gc.ca"
.Subject = "Départ - " & Cells(var, 1).Value
.Body = "Bonjour," & Chr(13) & Chr(13) & "Départ de :" & Chr(13) & Cells(var, 1).Value & Chr(13) & Cells(var, 4).Value & " au " & Cells(var, 5).Value & Chr(13) & "Superviseur : " & Cells(var, 6).Value & Chr(13) & remun & Chr(13) & Chr(13) & "Merci et bonne journée!"
.Display
End With
Cells(var, 7).Value = "Cote désactivée"
End If
Else
MsgBox ("Les ressources humaines s'occupent de la sécurité des employés rémunérés!")
End If
End If
End Sub
Ce qui est en gras c'est ce que j'ai rajouter et qui ne fonctionnais pas. Ce qui est souligné c'est ce qui fonctionnait mais ne fonctionne plus maintenent.
Parfois c'est une erreur d'incompatibilité de type et d'autre c'est une erreur défini par l'application ou par l'objet. Et ce selon moi aléatoirement, 1 teste me donne nue erreur et immédiatement après en faisant la même chose, ca me donne une erreur différenet
Merci et m'aider je ne comprend plus rien...
A voir également:
- Macro excel ne fonctionne plus ???
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonsoir,
Voici les remarques issues de ma première lecture :
- var n'est pas définie (déclaration et initialisation)
- Le MsgBox devrait être sur la ligne suivante
- La fonction ou de ton test n'est pas correcte :
Essai déjà de corriger ces points, ensuite, si ça ne marche toujours pas, merci de donner le message d'erreur et la ligne sur lequel il se produit.
@+
Voici les remarques issues de ma première lecture :
- var n'est pas définie (déclaration et initialisation)
- Le MsgBox devrait être sur la ligne suivante
- La fonction ou de ton test n'est pas correcte :
If ((Cells(var, 7).Value = "Cote demandée") Or (Cells(var, 7).Value ="Partielle approuvée")) Then
Essai déjà de corriger ces points, ensuite, si ça ne marche toujours pas, merci de donner le message d'erreur et la ligne sur lequel il se produit.
@+
Bonjour Gord21,
Merci pour ta réponse!
Mon var est déclarer à l'extérieur de mon Private Sub comme suit :
Public var As Long
Public remun As String
le Msgbox est correcte, en le copiant collant, il s'est mit là!
Pour les parenthèses c'est une bonne idée, je l'essaye.
Edit : ...Ahhhh je viens de comprendre, les parenthèses ne sont pas obligatoire, faut juste répéter le "cells().value=" entre chaque OU
Où avais-je la tête, tout le reste de mon code est fait comme ca!!
Merci beaucoup!
Merci pour ta réponse!
Mon var est déclarer à l'extérieur de mon Private Sub comme suit :
Public var As Long
Public remun As String
le Msgbox est correcte, en le copiant collant, il s'est mit là!
Pour les parenthèses c'est une bonne idée, je l'essaye.
Edit : ...Ahhhh je viens de comprendre, les parenthèses ne sont pas obligatoire, faut juste répéter le "cells().value=" entre chaque OU
Où avais-je la tête, tout le reste de mon code est fait comme ca!!
Merci beaucoup!