Erreur de programmation apparue soudainement
Résolu
Maksime568
Messages postés
145
Statut
Membre
-
Maksime568 Messages postés 145 Statut Membre -
Maksime568 Messages postés 145 Statut Membre -
Bonjour,
j'utilise depuis quelques semaines un fichier excel avec macro.
Il fonctionnait bien jusqu'à aujourd'hui.
Je ne comprend pas vraiment pourquoi alors que tout allait bien avant.
ci-dessous le code avec la ligne avec problème
l'erreur dit "nom ambigu détecté : ligne" ou parfois ~ a la place de ligne
alors que avant pas de soucis.
j'ai changé le nom "ligne" mais là j'ai d'autre soucis, erreur définie par l'application ou par l'objet.
Savez-vous d'où vient le soucis?
Merci
j'utilise depuis quelques semaines un fichier excel avec macro.
Il fonctionnait bien jusqu'à aujourd'hui.
Je ne comprend pas vraiment pourquoi alors que tout allait bien avant.
ci-dessous le code avec la ligne avec problème
Private Sub dateE_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Len(dateE) <> 5 Or Not IsNumeric(dateE) Then MsgBox ("Entrer 5 chiffres SVP"): dateE = ""
End Sub
Private Sub num_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String
'********* à adapter ***********
'affectation de valeurs aux variables :
'on cherche le mot "Trouve"
Valeur_Cherchee = num.Value
'dans la 5e colonne de la feuille active
Set PlageDeRecherche = ActiveSheet.Columns(5)
'*******************************
'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
'traitement de l'erreur possible : Si on ne trouve rien :
If Trouve Is Nothing Then
'ici, traitement pour le cas où la valeur n'est pas trouvée
MsgBox "Ce n° n'existe pas ": Me.num = ""
Else
'ici, traitement pour le cas où la valeur est trouvée
ligne = Trouve.Row
End If
'vidage des variables
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
End Sub
Sub test()
If Me.num = "" Or Me.dateE = "" Then MsgBox ("Date ou n° manquant"): Exit Sub
If ActiveSheet.Range("CA" & ligne) <> "" Then MsgBox ("Pièce déjà emballée"): Me.num = "": Exit Sub
If ActiveSheet.Range("T" & ligne) <> "OK" Then MsgBox ("Pièce non emballable"): Me.num = "": Exit Sub
ActiveSheet.Range("CA" & ligne) = Me.dateE
Me.num = ""
End Sub
Private Sub SUIVANT_Click()
test
EMBALLAGE.num.SetFocus
End Sub
Private Sub TERMINER_Click()
EMBALLAGE.Hide
End Sub
l'erreur dit "nom ambigu détecté : ligne" ou parfois ~ a la place de ligne
alors que avant pas de soucis.
j'ai changé le nom "ligne" mais là j'ai d'autre soucis, erreur définie par l'application ou par l'objet.
Savez-vous d'où vient le soucis?
Merci
A voir également:
- Erreur de programmation apparue soudainement
- Application de programmation - Guide
- Erreur 0x80070643 - Accueil - Windows
- Erreur de lecture reconnecté en 3s - Forum TV & Vidéo
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
non je n'ai pas de déclaration public de cette variable.
c'est ce que je me suis dit pour l'erreur, j'ai donc déclarée la variable et là j'obtiens:
"Erreur définie par l'application ou par l'objet" à la ligne soulignée
If Me.num = "" Or Me.dateE = "" Then MsgBox ("Date ou n° manquant"): Exit Sub If ActiveSheet.Range("CA" & ligne1) <> "" Then MsgBox ("Pièce déjà emballée"): Me.num = "": Exit Sub If ActiveSheet.Range("T" & ligne1) <> "OK" Then MsgBox ("Pièce non emballable"): Me.num = "": Exit Sub ActiveSheet.Range("CA" & ligne1) = Me.dateE Me.num = ""ce que je ne comprend absolument pas c'est, pourquoi ça fonctionne sur certains onglet et par sur un seul (même quand la variable n'est pas déclarée!).
Et pourquoi ça fonctionnait bien la semaine dernière même sur l'onglet posant problème aujourd'hui?
public ligne1 as integer
et ça fonctionne.
Il semblerait que la déclaration c'est effacé à un moment ...
Merci