Cherche, macro pour prendre qu'une partie de la cellule + une autre pour av
Bonjour,
J'utilise une macro qui permet de récupérer des valeurs sur d'autre classeur, et de prendre les plus grandes valeur dans une plage défini.
Mes soucis, j'aimerai qu'il prenne que la 1er partie du texte de la cellule ex : 10/05/2017 à 00:00 --> 10/05/2017.
Pour mon 2nd problème, quand il me trouve la grande valeur sur la feuille, je voudrais qu'il me donne le créneau horaire de la ligne L5 (voir jpg), et que cette donnée apparaissent dans le 1er classeur récap.
Et pour finir, dans mon tableau il faudrait qu'il prennent que la valeurs la plus importante des lignes (L6, L10, L14, L18,L22,L26 et L30).
Je vous remercie pour vos futur .
PS : Je suis très novice en macro.
Voici le code que j'utilise :
Sub consolide()
ChDir ActiveWorkbook.Path
Set recap_DELAM = ActiveWorkbook
Application.ScreenUpdating = False
compteur = 4
nf = Dir("*.xls")
Do While nf <> ""
If nf <> recap_DELAM.Name Then
Workbooks.Open Filename:=nf
Set WBOpened = ActiveWorkbook
With WBOpened
With .Sheets("Synthèse")
recap_DELAM.Sheets(1).Cells(compteur, 7) = .Range("E3").Value
recap_DELAM.Sheets(1).Cells(compteur, 10) = .Range("E4").Value
End With
With .Sheets("Débit Horaire (2)")
.Activate
recap_DELAM.Sheets(1).Cells(compteur, 11) = Application.WorksheetFunction.Max(Range("C6:$N30"))
recap_DELAM.Sheets(1).Cells(compteur, 13) = Application.WorksheetFunction.Max(Range("O6:$Z30"))
End With
End With
compteur = compteur + 1
Workbooks(nf).Close False
End If
nf = Dir
Loop
Application.ScreenUpdating = True
End Sub
pour récupérer la date
ex : Cellule E3 = 10/05/2017 à 00:00
Cells(1, 1) = Left(Cells(3, 5), 10)
Left renvoie les 10 premiers caractères en partant de la gauche soit 10/05/2017
Tient, voilà pour ton problème
Dim max, colMax As Integer
max = 0
colMax = 0
For i = 6 To 30
For j = 2 To 26
If Sheets("Débit Horaire").Cells(i, j) > max Then
max = Sheets("Débit Horaire").Cells(i, j)
colMax = j
End If
Next
Next
Cells(1, 2) = Sheets("Débit Horaire").Cells(5, colMax)
Bonjour,
Merci pour réponse je vais tester vos code.
Je vous tient au courant.
Cordialement
Re-bonsoir,
Je viens de tester le code, le principe est bien, il y a un petit soucis, concernant la date il me donne le 5/10 au lien du 10/05.
J'ai essayer de l'adapter au code d'origine, car il permet de prendre x fichier Excel, mais j'ai pas pu le traduire pour mes besoins.
Autrement pour les grandes valeurs, j'ai l'impression qu'il prend l'ensemble du tableau, sauf j'ai besoin qu'il scanne que les lignes en bleu, car d'autre fichier les valeurs en bleu sont inférieures au autre ce qui me donne des valeurs erronés.
Je vous remercie pour ces réponses.
Coucou, alors ouais le problème avec 10/05 en 05/10 vient du fait qu'Excel fait une sorte de conversion dont je n'explique pas la cause xD
Pour régler ce problème met la cellule où il y aura la date avec un format personnalisé en mm/jj/aaaa
pour faire ça :
1°) sélectionne ta cellule cible
2°) onglet accueil
3°)clique sur la flèche où il y a standard (ou date)
4°) clique sur autres formats numériques
5°) Personnalisée
6°) dans type écrire "mm/jj/aaaa" puis sur OK
Après tu voulais qu'il compare tout les nombres en bleu ? où le plus grand de chaque ligne bleue ?
Bonjour,
Merci pour vos réponses.
Pour le fichier « 025.0407.00.1 » quand il me donne la valeur max du matin entre 7-8h il me donne 33.33 qui correspond à la cellule (AU13, qui est la ligne du %PL), normalement il devrait prendre que les lignes TV (tout véhicule) est obtenir pour le matin 30 (en BE18) de 9h-10h.
Pour l’après midi, il donne 17 (en BT22) qui est bien sur la bonne ligne (TV), mais la plus grande valeur est 59 (DC14) de 19-20h.
Pour le fichier « 025.0355.01.1» quand il me donne la valeur max du matin entre 4-5h il me donne 100 qui correspond à la cellule (AF17, qui est la ligne du %PL), normalement il devrait prendre que les lignes TV (tout véhicule) est obtenir pour le matin 32 (en BJ22) de 10h-11h.
Pour l’après midi, il donne 16.67 (en BT17 qui est la ligne du %PL), la plus grande valeur est 24 (CS18) de 17-18h.
Concernant les colonnes de 2 à 23 + 28 à 29, les infos sont prises dans la première page synthèse.
Pour les colonnes de 24 à 27, les infos sont prise depuis le tableau Débit Horaire (2).
J’ai mis une capture ci-dessous, pour montrer les lignes des valeurs dont j’ai besoin pour les données (ligne en jaune TV).
les infos sont prise depuis le tableau Débit Horaire (2).
Les lignes pour le matin sont :
"L10:BO10 , L14:BO14 , L18:BO18 , L22:BO22 , L26:BO26 , L30:BO30 , L34:BO34”
Les lignes pour l’après-midi sont :
"BT10:DW10, BT14,DW14, BT18:DW18 ,BT22:DW22, BT26:DW26, BT30:DW30, BT34:DW34"
La plage des colonnes du matin commence de 00-01h (L9) à 11-12h(BO9), pour l’après midi elle sont de 12-13h (BT9) à 23-24h(DW9)
Cordialement