Bonjour,
Bonne année mes meilleurs vœux !
J'ai trouvé une solution pour ma dernière demande, mais aujourd'hui j'ai un problème sur l'importation des données des heures du matin.
J'avais bien repris votre code VBA tout fonctionnait bien et depuis hier une valeur #N/A apparaît lorsque j'ouvre le fichier ( donc dès la macro se lance )
Voulez-vous avoir mon fichier ? C'est le même que je vous ai transmis il y à a peu près 1 mois.
Merci beaucoup pour votre aide !!!
Voici ci contre mon code VBA :
Sub Heures_Matin_Ambes_Predalles()
Dim tb, Newtb(), i&, k&
'désactive le rafraichissement de l'écran
Application.ScreenUpdating = False
'agit sur cette feuille uniquement
With Sheets("feuille_support")
'définit le tableau de valeur tb
tb = .Range("A1").CurrentRegion
'indice de ligne
k = 0
'redimensionne le tableau Newtb qui recevra les données souhaitées
' nombre de ligne de tb et 4 colonnes
ReDim Newtb(0 To UBound(tb, 1), 1 To 7)
'boucles sur toutes les lignes de tb
For i = 1 To UBound(tb, 1)
'si heure de la quatrième colonne comprise entre 7H et 12H
If Format(tb(i, 4), "hh:mm:ss") >= "05:00:00" And Format(tb(i, 4), "hh:mm:ss") <= "12:30:00" Then
Newtb(k, 1) = tb(i, 2) 'colonne 1 de Newtb = colonne 2 de tb (dates)
Newtb(k, 2) = tb(i, 4) 'colonne 2 de Newtb = colonne 4 de tb (heures)
Newtb(k, 3) = tb(i, 5) 'colonne 3 de Newtb = colonne 5 de tb (départements)
Newtb(k, 4) = tb(i, 6) 'colonne 4 de Newtb = colonne 6 de tb (villes)
Newtb(k, 5) = tb(i, 7) 'colonne 5 de Newtb = colonne 7 de tb (designation)
Newtb(k, 6) = tb(i, 3) 'colonne 6 de Newtb = colonne 3 de tb (conf)
k = k + 1 'incrémente l'indice k
End If
Next i
End With
If k > 0 Then
With Sheets("Alertes J+2 et J+3")
On Error Resume Next
'efface les données existantes des colonnes B à G
.Range("B15:G" & .Range("B" & Rows.Count).End(xlUp).Row).ClearContents
'retranscrit les données de Newtb à partir de F6
.Range("B15").Resize(k, 7).Value = Newtb
'formate la colonne F
.Columns(2).NumberFormat = "dd/mm/yyyy"
'active la feuille
.Activate
End With
End If
'efface tb et Newtb : libère la mémoire
Erase tb: Erase Newtb
End Sub