Formule max + si

grosquick59

XLDnaute Junior
Bonjour à tous,
je reste bloqué sur une formule. Je cherche à avoir la valeur max entre deux feuilles.

En clair je voudrais mixer les deux formules suivantes :

=MAX(SI(Liste_documentation!B:B=B7;Liste_documentation!C:C;""))+1

=MAX(SI(ENREGISTREMENT!B:B=B7;ENREGISTREMENT!C:C;""))+1

Pourriez-vous m'aider svp ?
 

job75

XLDnaute Barbatruc
Re : Formule max + si

Re,

Bon c'est compréhensible si on limite les plages :

Code:
=MAX(SI(Liste_documentation!B1:B1000=B7;Liste_documentation!C1:C1000);SI(ENREGISTREMENT!B1:B1000=B7;ENREGISTREMENT!C1:C1000))+1

Formule matricielle à valider par Ctrl+Maj+Entrée.

A+
 

grosquick59

XLDnaute Junior
Re : Formule max + si

Salut, je vais tester.
Désolé pour la clareté, je chercher à trouver le chiffre le plus élevé en comparant deux feuilles. Ensuite j'ajoute +1.
Il s'agit en réalité d'un numéro de document.

Feuille 1 = Liste_documentation
Feuille 2 =ENREGISTREMENT

Exemple avec le numéro CF-PR-028

En feuille 1 et 2 : colonne B = texte à comparer, colonne C = numéro associé
En B7 d'une feuille quelconque le texte que je veux comparer, par exemple : CF-PR-
=> Je cherche dans la feuille 1 les lignes qui contiennent CF-PR-
=> je cherche dans la feuille 2 la même chose
=> je prend le numéro le plus élevé situé en colonne C des feuilles 1 et 2.
=> je rajoute +1

Est-ce plus clair ?
 

grosquick59

XLDnaute Junior
Re : Formule max + si

Bonjour,
un nouveau problème... j'ai intégré une 3ème composante dans cette formule.
Je souhaiterais intégrer la formule en macro pour qu'elle soit placée dans la cellule C7 à chaque modification de la feuille.

Voici ma formule :
Code:
=MAX(SI(Liste_documentation!B4:B1000=B7;Liste_documentation!C4:C1000);SI(ENREGISTREMENT!B15:B495=B7;ENREGISTEMENT!C15:C495);SI(LISTEANNULES!A4:A10000=B7;LISTEANNULES!B4:B10000))+1

Voici ma macro :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        On Error Resume Next
        
        If Range("A7") = "CREATION" Then
            'Récupération du numéro suivant___
             
             Range("C7").FormulaArray = "=MAX(IF(Liste_documentation!R[-3]C[-1]:R[993]C[-1]=RC[-1],Liste_documentation!R[-3]C:R[993]C),IF(ENREGISTREMENT!R[8]C[-1]:R[493]C[-1]=RC[-1],ENREGISTREMENT!R[8]C:R[493]C),IF(LISTEANNULES!R[-3]C[-2]:R[9993]C[-2]=RC[-1],LISTEANNULES!R[-3]C[-1]:R[9993]C[-1]))+1"

La formule doit être trop longue je suppose.Pouvez-vous me mettre sur la voie svp ?
 

Discussions similaires

Réponses
8
Affichages
321
Réponses
6
Affichages
605

Statistiques des forums

Discussions
312 492
Messages
2 088 895
Membres
103 982
dernier inscrit
krakencolas