XL 2013 Extraire d'une BD des données

carré d’as

XLDnaute Nouveau
bonjour à tous,
j'aurais besoins d'aide sur le fichier en pièce jointe, je suis toujours sur mon projet personnel concernant le suivie de mon troupeau ; nos services d’élevages se sont regrouper informatiquement et depuis avril 2018 et ne sont toujours pas parvenu a coordonnées les 2 sites web / appli smartphone.
D'avance merci.
 

Fichiers joints

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour carré d'as,

je pense dans un premier temps que la base devrait être nettoyée de toutes les dates en 1900 je ne l'ai pas fait mais je t'ai tout de même fait des formules en fichier joint

Cordialement

EDIT Bonjour l'ami :), désolé pour la collision mais content de te croiser ;)
 

Fichiers joints

carré d’as

XLDnaute Nouveau
Tout d'abord MERCI à vous de me consacrer du temps.
Le fichier n'est qu'une partie de ma base de données ou il n'y a pas de date 1900 "qui se balade" ?? : le déplacer la feuille peut être .
Vos réponses sont judicieuse et me conviennent, cependant comment procéder pour que $L$10:L10 soit matricielles et donc dynamique.
bien cordialement.
 

Fichiers joints

Jocelyn

XLDnaute Barbatruc
Bonjour,

Si si il y a des date en 1900 par exemple Si tu cliques en C4 même si cette cellule parait ne rien contenir on voit 21/01/1900 apparaitre dans la barre de formule, en F7 c'est 27/08/1900 etc ......
Pour nettoyer a par sélectionner les cellule qui parraissent vide et faire supprimer je ne vois qu'une macro et la je suis une bille donc je ne peux pas aider
Concernant la colonne L rien ne sert de mettre une formule matricielle car ce n'est pas une formule de ce type qui rend les chose dynamique.
dans le fichier Je t'ai remplacé les plages du genre A$3:$A$25 (vache) par des plages nommées qui elle sont dynamiques

Pour voir les plages nommée aller dans onglet formule du ruban => gestionnaire de nom

Cordialement

EDIT : Bonjour Efgé :) content de te croiser:)
 

Fichiers joints

Dernière édition:

Efgé

XLDnaute Barbatruc
Bonjour carré d'As, Salut Victor 21 :) , Salut jocelyn :)

Je me permets de passer par ici, surtout pour saluer tous le monde.
Le fichier exemple étant en en xlsx, carré d'As bénéficie des tableaux de feuilles qui évitent les plages nommées.
J'ai gardé les formules de jocelyn sauf la première pour éviter d'embarquer la "mise en reproduction" en 1900.
J'ai aussi enlevé les mises en formes conditionnelles qui masquent tout ce qui est inférieur à 240 ( donc les dates en 1900 en font beaucoup parties ;) )
Cordialement
 

Fichiers joints

carré d’as

XLDnaute Nouveau
Bonsoir à tous,
Vos fichiers m'ont permis d'avancé, cependant les formules d'Efgé qui sont parfaites ; m'opposent de la résistance pour entrée dans ma base de données, (feuil base de données : cellules jaunes).
cordialement à Tous
 

Fichiers joints

Efgé

XLDnaute Barbatruc
Bonjour à tous

Ce ne sont pas mes formules mais celles de l'ami jocelyn.
Le seul intérêt de ma proposition était d'utiliser un tableau de feuille (Accueil / Mettre sous forme de tableau) pour éviter de créer des plages dynamiques.
Dans le dernier exemple, il n'y a pas de tableau de feuille, pas de plages dynamiques et les plages nommées ne font pas toutes la même
hauteur....:rolleyes:

Je passe la main car je n'aurai certainement pas le temps de repasser avant demain au mieux voir jeudi..

Cordialement
 

job75

XLDnaute Barbatruc
Bonjour carré d'as, Patrick, Jocelyn, Efgé,

Formule matricielle en L10 :
=SIERREUR(INDEX($A:$A;PETITE.VALEUR(SI(ESTNUM(B$3:B$1000/(ANNEE(B$3:B$1000)>1900))*NON(NB.SI(L$9:L9;$A$3:$A$1000));LIGNE($A$3:$A$1000));1));"")

Formule en M10 :
=SIERREUR(RECHERCHEV(L10;$A:B;COLONNES($A:B);0);"")

A tirer vers le bas puis à copier vers la droite en les adaptant puisqu'il y a un pas de 2.

A+
 

Fichiers joints

carré d’as

XLDnaute Nouveau
bonjour à tous et bonjour job75,
j'ai intégré ta proposition de formule dans ma base de données, les vaches et surtout les dates trouvées sont en désordre.
- y a t il une possibilité pour que les dates ( colonne M10) soient rangées de la plus petite à la grande en "embarquant" les vaches correspondantes aux dates (colonnes L10)
Cordialement.
 

job75

XLDnaute Barbatruc
Re,

Quand les formules deviennent compliquées le VBA évite de se casser la tête.

Voyez le fichier joint et cette macro dans le code de la feuille :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tablo, nlig&, resu(), j%, i&, test As Boolean
tablo = [A1].CurrentRegion.Resize(, 8)
nlig = UBound(tablo)
ReDim resu(1 To nlig, 1 To 14)
For j = 2 To 8
    For i = 2 To nlig
        test = False
        If j <> 7 And IsDate(tablo(i, j)) Then test = Year(tablo(i, j)) > 1900
        If j = 7 And IsNumeric(CStr(tablo(i, j))) Then test = tablo(i, j) > 0
        If test Then
            resu(i, 2 * j - 3) = tablo(i, 1)
            resu(i, 2 * j - 2) = tablo(i, j)
        End If
Next i, j
'---restitution---
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
With [J2] 'à adapter
    .Cells(2, 1).Resize(Rows.Count - .Row, 14).ClearContents 'RAZ
    .Cells(2, 1).Resize(nlig, 14) = resu
    For j = 1 To 13 Step 2
        .Cells(2, j).Resize(nlig, 2).Sort .Cells(2, j + 1), xlAscending, Header:=xlNo 'tri
    Next
End With
Application.EnableEvents = True 'réactive les évènements
End Sub
Elle se déclenche quand on modifie ou valide une cellule quelconque.

Dans le tableau des résultats les dates sont triées comme demandé.

A+
 

Fichiers joints

carré d’as

XLDnaute Nouveau
Bonjour à tous et bonjour job75,
"Quand les formules deviennent compliquées le VBA évite de se casser la tête." Proverbe Excel, je suppose ; je suis une bille en VBA. Il faut réecrire le code pour qu'il s'opère dans les colonnes souhaitées ??? je vais me reprendre "la chose" ce soir, mais je part de loin !!.
Cordialement
 

Fichiers joints

carré d’as

XLDnaute Nouveau
Bonjour à tous et bonjour job75,
Je reviens vers le forum, en ayant pas résolue mon problème de code vba ; de plus je m’aperçois que le tableau (AC2:AT108) doit être placé sur une feuil 3 "Alerte".
- y a t il une possibilité de revenir au formule EXCEL pour que les dates du tableau (AC2:AT108) soient rangées de la plus petite à la grande en "embarquant" les vaches correspondantes aux dates :
{=SIERREUR(INDEX($Q:$Q;PETITE.VALEUR(SI(ESTNUM(T$6:T$1003/(ANNEE(T$6:T$1003)>1900))*NON(NB.SI(AI$5:AI5;$Q$6:$Q$1003));LIGNE($Q$6:$Q$1003));1));"")}
et
=SIERREUR(RECHERCHEV(L10;$A:B;COLONNES($A:B);0);"")
Cordialement à tous
 

Fichiers joints

job75

XLDnaute Barbatruc
Bonjour carré d'as, le forum,

Je ne comprends rien à vos fichiers des posts #12 et #13, ils sont bien trop compliqués.

Si vous ne voulez pas de VBA voyez ce fichier (2).

Les formules des résultats sont bien sûr matricielles et +LIGNE($A$3:$A$1000)/"1E9" permet de distinguer les dates en doublon.

Bonne journée.
 

Fichiers joints

carré d’as

XLDnaute Nouveau
Bonjour le forum et bonjour job75,
Afin que le résultât soit plus lisible, j'aurais à nouveau besoins de vos lumières. Mes questions sont inclues au le fichier.
Merci de votre AIDE
CDLT
 

Fichiers joints

carré d’as

XLDnaute Nouveau
Bonjour le forum et bonjour job75 et JHA,
j'ai bien intégrer la proposition de formule de JHA à mon fichier, merci de votre aide. Il me reste sur cet exemple en pièce jointe, a écarter de la recherche, les dates au delà de à 3 mois et supérieur à 4 mois ( les questions sont reformulées dans le fichier).
Merci beaucoup
 

Fichiers joints

JHA

XLDnaute Barbatruc
Bonjour à tous,

Je vois que les MFC ne te conviennent pas, un essai par formule sur les colonnes "S" & "U".

Pour les 4 mois, tu peux essayer de faire la même chose.
Peux-tu confirmer les colonnes en Q3, S3 et W3 à modifier?

JHA
 

Fichiers joints

carré d’as

XLDnaute Nouveau
Bonsoir JHA , Bonsoir le forum,
Effectivement, les cellules vides R3:U6 vont être problématiques à l'impression. Peuvent elles disparaître pour que les valeurs débutent en R3:U3 ?
CDLT :)
 

carré d’as

XLDnaute Nouveau
Bonjour le forum, bonjour JHA et JOB75,
J'ai tenter de résoudre mon problème avec un filtre avancé conjugué à une macro, sans succès, puisque le tableau est une suite de "plage" avec des dates à classées.
la solution est elle de renseigné les formules : écarté les dates avant et après ????????
CORDIALEMENT
 

Fichiers joints

Discussions similaires


Haut Bas