heurs fause dans listbox

  • Initiateur de la discussion Initiateur de la discussion gege21
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gege21

XLDnaute Occasionnel
bonjours a tous

cette macro me recopie des donnée dans un litstbox
- il faudrait que je choisisse l'année a importe dans le listbox
- beaucoup plus gênant les heurs importe son fausse

comment faire 😕😕

Cijoint.fr - Service gratuit de dépôt de fichiers
 
Re : heurs fause dans listbox

re,
après teste de ton ficher en retour tout marche très bien😱
et la grand désespoirs quand je remets de nouvelle importe par macro ou ajoute a la main ses nouvelle donnée ne marche pas (j'ai essaye plusieurs format teste date ...😡rien)
part contre les ancien marche toujours
donc c bien un problème de format
que faire car je pense que ton code et très bien 😕😕

ps: par acquit de conscience j'ai fait un teste sous 2003 vu que je suis sous 2007 mais pas mieux
 
Dernière édition:
Re : heurs fause dans listbox

bonjour gege21
comme cela je vois pas !!! Pas une grande spécialiste des formats
d'ou viennent tes donnees ???
il faudrait voir la macro d'importation??? comment elle est écrite
on peut tester une fois que que tu as lance ta macro d'importation
lance cette macro ci dessous

Code:
Sub es()
Dim x As Variant, r As Long, c As Long, s As Long
 Application.ScreenUpdating = False
   s = Timer
    x = Range("a1", Cells(Rows.Count, "a").End(xlUp))
     For r = 1 To UBound(x, 1)
     For c = 1 To UBound(x, 2)
    x(r, c) = "'" & (x(r, c))
   Next c: Next r
  Range("a1", Cells(Rows.Count, "a").End(xlUp)) = x
 Columns("A:A").NumberFormat = "@"
MsgBox Timer - s
End Sub

puis ouvre l'user & regarde si ca marche
 
Re : heurs fause dans listbox

Bonjour laetitia90

après de nouveau teste d'impotation tout marche😕
j'ai du faire une fausse manip
il faut que le bouton pour lancer uesrform soit dans la feuille menu et si je le fait sa marche plus

Cijoint.fr - Service gratuit de dépôt de fichiers
 
Dernière édition:
Re : heurs fause dans listbox

re, gege21
je dirais en activant la feuille le mieux utilisation de l'instruction WITH comme deja dans beaucoup de sequence du code donne
pour aller plus vite par activate trop de temps ce soir
attention dans ta feuille donnees au depart pas de ligne vide autremement probleme
la ligne a1 est pas pleine sur ton dernier fichier remonte tout ca??? c'est le code qui cree la ligne vide
change le code user par celui la

Code:
Option Explicit
Dim s As Long, z As String, Nb As Long, m As Object
Dim t, x As Variant, i As Long, k As Long
Private Sub c1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = 0 'prefere a 2 - DropDown List dans proprietees
End Sub
Private Sub CommandButton1_Click()
On Error Resume Next
Range("A2:y" & Cells(Rows.Count, "a").End(xlUp).Row).Cut Destination:=Range("A1")
Application.DisplayAlerts = False
Sheets("TEMP").Delete
Application.DisplayAlerts = True
Sheets("Menu").Activate
Unload Me
End Sub
Private Sub UserForm_Initialize()
Label4.Visible = True
Repaint
On Error Resume Next
Application.ScreenUpdating = False
s = Timer
Sheets("Données").Activate
Set m = CreateObject("Scripting.Dictionary")
x = Range("a1:a" & Cells(Rows.Count, 1).End(xlUp).Row)
For Each t In x
m(t) = t
Next t
[z1].Resize(m.Count, 1) = Application.Transpose(m.keys)
Set m = Nothing
x = Range("z1", Cells(Rows.Count, "z").End(xlUp))
For i = 1 To UBound(x, 1)
For k = 1 To UBound(x, 2)
x(i, k) = Right(x(i, k), 4)
Next k: Next i
Range("z1", Cells(Rows.Count, "z").End(xlUp)) = x
Set m = CreateObject("Scripting.Dictionary")
x = Range("z1:z" & Cells(Rows.Count, 1).End(xlUp).Row)
For Each t In x
m(t) = t
Next t
c1.List = m.Items
Set m = Nothing
Columns("Z:Z").ClearContents
Label4.Visible = False
Label2.Caption = format((Timer - s), "0.0" & "   secondes")
ListBox1.ColumnWidths = "80 pt;50 pt;90 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt;50 pt"
z = ActiveSheet.Name
Rows(1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Private Sub c1_Change()
On Error Resume Next
If c1 = "" Then Exit Sub
Label4.Visible = True
Repaint
Application.ScreenUpdating = False
s = Timer
Application.DisplayAlerts = False
 Sheets("TEMP").Delete
Application.DisplayAlerts = True
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "TEMP"
With Sheets("TEMP")
.Cells(1, 1) = "liste 1": .Cells(1, 2) = "liste 2": .Cells(1, 3) = "liste 3": .Cells(1, 4) = "liste 4"
.Cells(1, 5) = "liste 5": .Cells(1, 6) = "liste 6": .Cells(1, 7) = "liste 7": .Cells(1, 8) = "liste 8"
.Cells(1, 9) = "liste 9": .Cells(1, 10) = "liste 10": .Cells(1, 11) = "liste 11": .Cells(1, 12) = "liste 12"
.Cells(1, 13) = "liste 13": .Cells(1, 14) = "liste 14": .Cells(1, 15) = "liste 15": .Cells(1, 16) = "liste 16"
.Cells(1, 17) = "liste 17": .Cells(1, 18) = "liste 18": .Cells(1, 19) = "liste 19": .Cells(1, 20) = "liste 20"
.Cells(1, 21) = "liste 21": .Cells(1, 22) = "liste 22": .Cells(1, 23) = "liste 23": .Cells(1, 24) = "liste 24"
.Cells(1, 25) = "liste 25"
End With
ListBox1.Clear
With Sheets("Données")
.AutoFilterMode = False
.[A1].AutoFilter Field:=1, Criteria1:="=*" & c1.Value & "*"
If Right(.Cells(2, 1), 4) = c1.Value Then
.Range("A2:y" & .Cells(Rows.Count, "a").End(xlUp).Row).SpecialCells(xlVisible).Copy _
Destination:=Sheets("TEMP").Range("A65536").End(xlUp)(2)
Else
.Range("A3:y" & .Cells(Rows.Count, "a").End(xlUp).Row).SpecialCells(xlVisible).Copy _
Destination:=Sheets("TEMP").Range("A65536").End(xlUp)(2)
End If
Sheets("TEMP").Activate
Nb = WorksheetFunction.CountA(Columns("A:A"))
ListBox1.RowSource = Range(Cells(2, 1), Cells(Nb, 25)).Address
Sheets(z).Select
.AutoFilterMode = False
End With
Label2.Caption = "nb..." & Nb - 1 & "   " & "   temps...  " & format((Timer - s), "0.0" & "   secondes")
Label4.Visible = False
End Sub
Private Sub c1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
c1.SetFocus: c1.DropDown
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
CreateObject("Wscript.shell").Popup "UN BOUTON EST PREVU POUR CELA !!!", 1, "pour fermer!!", vbCritical
Cancel = True
End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour