Erreur d'exécution '13
Bonjour,
Erreur d'exécution '13'
Je suis novice pour ce qui est des macros. Nous avons un fichier qui nous permet de récupérer des données d'autres fichiers excel. Pour cela je rentre dans ma saisie quotidienne, je choisi ma date et je clique dans actualiser. Sauf que quand je clique j'ai l'erreur d’exécution '13' qui apparaît. Je vais dans débogage et l'erreur indiquée est la première ligne d'une partie de la macro ci dessous :
[surligner]
controle_cuve = Sheets("Verif Engins").Cells(ligne - 1, 5).Value[/surligner]
Label363.Caption = controle_cuve
If controle_cuve < 1000 Then
Label363.BackColor = vbRed
Else: Label363.BackColor = vbWhite
End If
If controle_cuve < 0 Then
Label363.Caption = 0
Label363.BackColor = vbRed
Else: Label363.BackColor = vbWhite
End If
Quelqu'un peut il m'aider?? =)
Je vous remercie d'avance
Bonjour,
Je ne vois pas la déclaration de controle_cuve
Tu n'indiques pas la valeur de ligne au moment de l'erreur
Tu n'indiques pas le contenu de la cellule dont la valeur est affectée à controle_cuve
Pour avoir une réponse, il convient de fournir les éléments permettant de le faire !
Bonjour,
Comme j'ai dit je suis novice =)
Ci dessous l'ensemble en espérant que cela suffise...
Private Sub CommandButton4_Click()
'Suivi à date choisie
Application.ScreenUpdating = False
Dim N As Integer
Dim M As Integer
Dim ligne As Integer
Dim Cont As Control
Dim controle_cuve As Double
N = 1
M = 199
Call verif_LIPS
If adresse_LIPS = True Then
If frame_date.date_ajd = True Or frame_date.autre_jour = True Then
For A = 1 To 198
If frame_date.autre_jour = True And Month(DTPicker1) < Month(Now()) - 1 Then
Me.Controls("Textbox" & A).Locked = True
CommandButton6.Visible = True
Else: Me.Controls("Textbox" & A).Locked = False
CommandButton6.Visible = False
End If
Next A
'Tant qu'aucune date n'est sélectionnée, on ne peut pas valider
Sheets("Base de données quot et hebdo").Select
' /!\ On sélectionne pour chaque page le sheet dans lequel on se trouve
Call verif_date
'Appel de la fonction verif_date pour insérer les informations à la bonne date (se trouve dans le module Fonctions)
ligne = lignedate
If ligne = 0 Then
MsgBox ("La date recherchée ne correspond pas au bon fichier LIPS")
Else:
'Appel de la variable public calculée dans verif_date
CommandButton1.Visible = False
controle_cuve = Sheets("Verif Engins").Cells(ligne - 1, 5).Value
Label363.Caption = controle_cuve
If controle_cuve < 1000 Then
Label363.BackColor = vbRed
Else: Label363.BackColor = vbWhite
End If
If controle_cuve < 0 Then
Label363.Caption = 0
Label363.BackColor = vbRed
Else: Label363.BackColor = vbWhite
End If
For Each Cont In Me.Controls
If TypeOf Cont Is MSForms.TextBox Then
Me.Controls("TextBox" & N).Value = Cells(ligne, N + 3).Value
'/!\ On prend la valeur de la textbox,on l'incrémente de 3 (etre attentif au numéro de TB)
'L'adresse des données et donc: en ligne la date (cf. init), en colonne la valeur de la TB+3
N = N + 1
'On va chercher la valeur de la nouvelle Textbox
ElseIf TypeOf Cont Is MSForms.ComboBox Then
'Contrôle des ComboBox
While M < 217
Me.Controls("ComboBox" & M).Value = Cells(ligne, M + 3).Value
'Même raisonnement, on va chercher le contenu des comboBox (onducteurs d'engins)
M = M + 1
Wend
End If
Next
End If
Else: MsgBox ("Sélectionner une Date")
End If
Sheets("Accueil").Select
Else: MsgBox ("Assurez-vous que le fichier Excel actif est bien LIPS")
End If
End Sub
Etre novice ne devrait pas t'empêcher de savoir ce que tu attends de ton programme au moment où celui-ci se met en erreur :
où est la date cherchée (quelle ligne ?) que contient la ligne au-dessus en colonne E ?
Je vais essayer de voir mais je n'ai pas conçu ce fichier et la page macro est immense donc je sais pas trop ou chercher en faite...
Quand tu cliques sur débogage, tu vas vérifier la valeur de ta variable ligne (s'affiche au survol dans une info-bulle).
Si elle est supérieure à 1, tu vas dans la feuille regarder la valeur de la cellule indiquée...
C'est par ça qu'il faut commencer !