ActiveSheet.Range("A2").RemoveDuplicates Columns:=1, Header:=xlNo
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSet plage = Application.Union(Range("A1:C1"), Range("A3:C3")) plage.Copy Destination:=Range("F3")
chercher toutes les lignes associées à un certain numéro
Set plage = Application.Union(Range("A1:C1"), Range("A3:C3")) plage.Copy Destination:=Range("F3")
Option Explicit Global numeroGM, mindate, maxdate, minkm, maxkm, minheure, maxheure As Variant Global c, cel, cell, cell2, cell3, cell4, cell5 As Range Sub aTest() Dim x As Variant Application.ScreenUpdating = False 'Prend la valeur d'un numéro G dans la feuille Contrôles numero = "XX" 'Trouve la range où apparaît le numéro GM dans la BDD filtrée Worksheets("bddfiltrée").Select Set cell = FindAll(Range("L2:L" & Range("L" & Rows.Count).End(xlUp).Row), numeroGM) MsgBox cell.Address 'MsgBox x ' Décale à la colonne Date de transaction Set cell2 = cell.Offset(0, 3) 'Transforme les valeurs en date 'For Each c In cell2 'c.Value = CDate(c) 'Next c ' Trouve la date minimale mindate = Application.WorksheetFunction.Min(cell2) MsgBox (mindate & " " & cell2.Address) 'Teste si la plage cell contient une ou plusieurs valeurs x = Application.WorksheetFunction.CountIf(cell2, mindate) MsgBox x 'Si la plage n'est pas unique, on fait une recherche sur les heures If x <> 1 Then Set cell5 = FindAll(cell2, CDate(mindate)).Offset(0, 1) 'Changer le format des cellules en heures For Each c In cell5 c.NumberFormat = "[$-F400]h:mm:ss AM/PM" c.Value = Hour(c) Next c minheure = Application.WorksheetFunction.Min(cell5) MsgBox (minheure & " " & cell5.Address) 'mindate = FindAll(cell5, Hour(minheure)).Offset(0, -1) 'MsgBox mindate End If End Sub
'Transforme les valeurs en date For Each c In cell2 'c.Value = CDate(c) 'Next c
c.NumberFormat = "[$-F400]h:mm:ss AM/PM"que j'appliquais à ma sélection de cellule de ma colonne heure. J'ai essayé de modifier la partie droite du égal pour comprendre les paramètres mais ensuite Excel m'affichait "personnalisée" au lieu de "heure".
Private Sub CommandButton1_Click() Range("A1:A10").NumberFormat = "dd/mm/yyyy hh:mm:ss;@ " For i = 1 To 10 deb = Timer Range("A" & i).Value = Now Do While Timer < deb + 1 DoEvents Loop Next End Sub
Private Sub CommandButton2_Click() MsgBox CDate(WorksheetFunction.Min(Range("A1:A10"))) End Sub