Probleme avec ClearContents

Liloo14

XLDnaute Nouveau
Bonsoir à tous,
En cliquant sur la ListBox1 de la userform RetourADQS, je cherche une ligne dans la feuil2 en fonction du contenu de la cellule de la colonne A qui doit être celui de sélectionné dans la ListBox1

Code:
Sub Chercher_Ligne()
Application.ScreenUpdating = False
Sheets("Feuil2").Select
    Dim Nom_ok As Range
    [COLOR="#FF0000"]Set Nom_ok = Columns("A").Find(RetourADQS.ListBox1)[/COLOR]
    If Not Nom_ok Is Nothing Then
Nom_ok.EntireRow.Select
    Else
End If
End Sub

Je transpose les données contenues dans les cellule des colonnes de A à D de la ligne trouvée vers les cellule A1, B1, C1 et D1 de la feuil1 puis j'incrément la date dans cellule E1 et une info contenue dans la cellule B22 que j'incrémente dans la cellule F1 :

Code:
Sheets("Feuil1").Range("A1") = Cells(ActiveCell.Row, 1)
Sheets("Feuil1").Range("B1") = Cells(ActiveCell.Row, 2)
Sheets("Feuil1").Range("C1") = Cells(ActiveCell.Row, 3)
Sheets("Feuil1").Range("D1") = Cells(ActiveCell.Row, 4)
Sheets("Feuil1").Range("E1") = Date
Sheets("Feuil1").Range("F1") = Sheets("Feuil1").Range("B22")

Ensuite, j'archive ces données dans la feuil3 et j'efface les données précédemment insérées ligne 1 de la feuil1:

Code:
Sub Archivage(ByVal ligne)
    Dim ligneHisto
    Dim col
    Dim colHisto
    
    ligneHisto = TrouverLigneVide
    colHisto = 1
    
    'Recopie des valeurs de la ligne dans la feuille d'historique
    For col = 1 To 8
        If col <> 7 Then
            Sheets("Feuil3").Cells(ligneHisto, colHisto).Value = ActiveSheet.Cells(ligne, col).Value
            colHisto = colHisto + 1
        End If
    Next
    
    'Suppression des valeurs de la ligne
    For col = 1 To 8
        If col <> 7 Then
            ActiveSheet.Cells(ligne, col).Value = ""
        End If
    Next

End Sub

Function TrouverLigneVide()
    Dim ligne
    
    ligne = 4
    
    Do While Sheets("Feuil3").Cells(ligne, 1).Value <> ""
        ligne = ligne + 1
    Loop
    
    TrouverLigneVide = ligne
End Function

Jusque là, tout baigne.
Là où ça se corse c'est lorsque je veux effacer les données contenues dans la ligne sélectionnée de la feuil2.
Je rajoute, en cliquant sur un bouton de validation :

Code:
Selection.ClearContents
Sheets("Feuil1").Select

Et là c'est le drame.
J'obtient un message d'erreur d'éxécution 1004 "Erreur définie par l'application ou par l'objet" et la ligne
Set Nom_ok = Columns("A").Find(RetourADQS.ListBox1)
en rouge dans la première Sub surlignée en jaune.

Si je vire
Code:
Selection.ClearContents
no problémo. Sauf que forcément les infos de la ligne sélectionnée en feuil2 ne sont pas effacées.

Si quelqu'un a une idée, je l'en remercie d'avance.

Au cas où je peux fournir mon fichier.

Laurent
 

Liloo14

XLDnaute Nouveau
Re : Probleme avec ClearContents

Bonsoir Martial,
Merci beaucoup de m'avoir répondu.
Je te joins mon fichier. Si tu trouves pourquoi ça plante ça m'aiderait beaucoup.
Merci par avance.
Moi je continu de chercher de mon côté.
Si je trouve je te tiendrai au courant car il semble que clearcontents pose quelques fois ce genre de problème.
A+
 

Pièces jointes

  • Suivi des 5903 en cours de validation envoyé.xls
    101.5 KB · Affichages: 38

Yaloo

XLDnaute Barbatruc
Re : Probleme avec ClearContents

Re,

C'est bien le fichier, mais je n'ai ni le temps ni l'envie de trouver ton mot de passe, donc merci de le préciser dans un prochain message, ou de l'enlever purement et simplement dans un nouveau fichier.

A+
 

Liloo14

XLDnaute Nouveau
Re : Probleme avec ClearContents

Ou alors clic simplement sur la croix rouge de la userform qui demande le mot de passe et passe par Visual Basic Editor.
Mais je remet le fichier sans le mot de passe ci-joint
 

Pièces jointes

  • Suivi des 5903 en cours de validation envoyé1.xls
    99.5 KB · Affichages: 40

JBARBE

XLDnaute Barbatruc
Re : Probleme avec ClearContents

Un exemple de fichier avec inputbox ( une boite de dialogue n'est pas nécessaire )

mot de passe : 1234

Mais mettre un mot de passe à l'enregistrement du fichier est mieux ( et encore il y a des logiciels qui casse le mot de passe )
 

Pièces jointes

  • mot_de_passe.xls
    48.5 KB · Affichages: 34
  • mot_de_passe.xls
    48.5 KB · Affichages: 38
  • mot_de_passe.xls
    48.5 KB · Affichages: 39

Yaloo

XLDnaute Barbatruc
Re : Probleme avec ClearContents

Bonsoir Liloo14, JBARBE,

Chez moi, ça ne plante pas (pas de message d'erreur) mais ça n'enlève pas non plus les données de la ligne, tout simplement parce que la ligne sélectionnée n'est pas la bonne.

Au lieu d'utiliser Find, essaies plutôt d'utiliser Match qui te donne directement le N° de ta ligne.

Je ne sais pas si ces macros font parties d'un ensemble, mais il me semble que c'est une usine à gaz pour pas grand chose.

Par exemple, juste pour alimenter ta ListBox1 tu peux utiliser :

VB:
ListBox1.List = Sheets("Feuil2").Range("A4:A" & Feuil2.[A3].End(xlDown).Row).Value

Je regarde demain pour ta suppression avec match.

A+

Martial
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg