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

horaire
10recap-delam.zip (16.37 Ko)
10classeur1.xlsx (12.17 Ko)

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)
7loc3007.xlsm (21.75 Ko)

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

capture plage
5recap-delam.zip (23.42 Ko)
Rechercher des sujets similaires à "cherche macro prendre partie"