Re : Copie au double clic
C'est gentil de m'aider Bruno, merci.
Je cherche a comprendre l'action qui génère l'erreur, alors en tout cas pas à l'ouverture du fichier, maintenant lorsque j'active cette fameuse procédure sur le double clic qui va copier les données dans la feuille rappel, tout va bien.
Tout va bien jusqu'au moment ou je ferme mon classeur (je dis ok a l'enregistrement du classeur) et là j'ai le message du rapport d'erreur.
Si je ne fait rien au niveau de ce double clic, mais d'autres actions dans mon classeur, je ferme, j'enregistre...... pas de messsage d'erreur.
Cette action est placée dans une feuille nomée "Compte dentiste" et elle comporte ceci :
La seule nouveauté c'est ton code BeforeDoubleClick, mais je reprécise que j'avais mon problème déjà avant ton code, en créant cette feuille rappel.
J'ai un USF qui vient juste s'activer pour placer l'adresse du patient, d'ou mon
CLIENTRAPPEL.Show
'Rappel au double clic
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim I, LigEnCours As Integer
Dim TotEnc As Single, NumFac As String, NewNum As String
'Sheets("Compte dentiste").Activate PAS NECESSAIRE
If Target.Column <> 13 Or Target.Row = 1 Then Exit Sub
' Inscrit la date du jour si rien dans la cellule
If Target = "" Then Target = Date
Cancel = True
' Récupère le numéro de la Ligne en Cours
LigEnCours = Target.Row
' Récupère le numéro de la facture
NumFac = Range("A" & LigEnCours).Value: NewNum = NumFac
' Inscrit le montant de la facture dans la cellule D35 de la feuille "Rappel"
' Pour moi, MIEUX QUE COPIE/COLLER
Sheets("Rappel").Range("D35").Value = Range("D" & LigEnCours).Value
Sheets("Rappel").Range("D22").Value = Range("C" & LigEnCours).Value
' Met le montant Total Encaissement à ZERO
TocEnc = 0
' Tant que le numéro de la facture = le nouveau numéro récupéré
Do While NewNum = NumFac
' Additionne les encaissements
TotEnc = TotEnc + Range("G" & LigEnCours).Value
' Passe à la ligne du dessous
LigEnCours = LigEnCours + 1
' Récupère le numéro de facture de la ligne
NewNum = Range("A" & LigEnCours).Value
Loop
' Une fois tout terminé, inscrit le montant encaissé
Sheets("Rappel").Range("D37").Value = TotEnc
Sheets("Rappel").Activate
CLIENTRAPPEL.Show
End Sub
Ensuite j'ai ceci, mais c'était déjà existant avant et tout allait très bien :
Private Sub Worksheet_Activate()
'trie par num de facture
Range("A8:N2500").Select
Selection.Sort key1:=Range("A8"), Order1:=xlAscending, header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A8").Select
' va ajuster automatiquement la largeur cellule pour éviter les ###
Worksheets("Compte dentiste").Columns("A:N").AutoFit
End Sub
Sub NomsDefinis()
'les noms définis
Dim L As Integer
With Sheets("Compte dentiste")
L = .Range("A65535").End(xlUp).Row
.Range("A8:A" & L).Name = "N__Fact."
.Range("B8:B" & L).Name = "Nom"
.Range("C8:C" & L).Name = "Date_facture"
.Range("D8😀" & L).Name = "Total_facture"
.Range("E8:E" & L).Name = "Solde_a_recevoir"
.Range("F8:F" & L).Name = "Date_échéance"
.Range("G8:G" & L).Name = "Montant_Encaissé"
.Range("H8:H" & L).Name = "Reçu_le"
.Range("I8:I" & L).Name = "Pour"
.Range("K8:K" & L).Name = "Délai_accordé"
End With
End Sub
Rien d'autre dans cette feuille et strictement rien dans la feuille rappel.
Je vais l'ouvrir sur un autre pc demain et je te dirais si le problème persiste.
Bonne soirée