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
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 :
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:
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 :
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
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
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
Si quelqu'un a une idée, je l'en remercie d'avance.
Au cas où je peux fournir mon fichier.
Laurent