Lire valeur celulle determiner avec somme prod

9test.xlsm (62.08 Ko)

Bonjour à tous,

Je joins mon fichier et les explications pour lesquelles je bute pour avoir une formule qui convienne,

Merci d'avance,

Cordialement,

Bonsoir Massari59264,

Pour répondre à

Je souhaiterais 5 macros (une pour la classe 1, une pour la classe 2… jusqu'a la classe 5)

Classe 1 concernera les onglets A et B,la classe 2 les onglets C,D,E et F …

La macro créera un ou plusieurs nouveaux fichiers dont le nom est indiqué dans la colonne AK

Il pourra donc y avoir un ou plusieurs fichiers par classe à créer en fonction du nom de celui-ci

(exemple: classe 3 un seul fichier car un seul nom,classe 4 4 fichiers a créer)

Une condition supplémentaire, la macro de chaque classe ne s'éxecutera que si tout les onglets de la classe ont le statut validés,

Pour il y a besoin d'un seul bouton et d'un seul code qui gère toutes les créations

Voici le code créé, que j'ai testé et qui semble fonctionner

Option Explicit

Dim TabSht()

Sub CréerFichiers()
  Dim dLig As Long, Ind As Integer, Lig As Long
  Dim sPath As String, sNomFic As String
  Dim sClasse As String, NbClasse As Integer
  ' Définir le chemin d'enregistrement
  sPath = ThisWorkbook.Path & "\"
  ' Avec la feuille
  With ThisWorkbook.Sheets("EN TETE")
    Lig = 1
    dLig = Range("IMPORT_ONGLET[ONGLET]").Rows.Count
    Do While Lig <= dLig
      ' Si pas validé on passe à la ligne suivante
      If Range("IMPORT_ONGLET[VALIDÉ]").Cells(Lig) <> "OK" Then GoTo SuiteLig
      ' Sinon on traite
      sClasse = Range("IMPORT_ONGLET[CLASSE]").Cells(Lig)
      sNomFic = Range("IMPORT_ONGLET[NOM FICHIER]").Cells(Lig)
      'NbClasse = Application.WorksheetFunction.CountIf(Range("IMPORT_ONGLET[CLASSE]"), sClasse)
      Do While Range("IMPORT_ONGLET[CLASSE]").Cells(Lig) = sClasse And _
        Range("IMPORT_ONGLET[NOM FICHIER]").Cells(Lig) = sNomFic
        ReDim Preserve TabSht(Ind)
        TabSht(Ind) = Range("IMPORT_ONGLET[ONGLET]").Cells(Lig).Value
        Ind = Ind + 1: Lig = Lig + 1
      Loop
      Lig = Lig - 1
      Application.EnableEvents = False
      Application.DisplayAlerts = False
      ' Copier la/les feuilles dans un nouveau classeur
      Sheets(TabSht).Copy

      With ActiveWorkbook
        .SaveAs sPath & sNomFic, FileFormat:=xlOpenXMLStrictWorkbook
        .Close SaveChanges:=False
      End With
      Erase TabSht: Ind = 0

SuiteLig:
    Lig = Lig + 1
    Loop
  End With
End Sub

Cette partie là je ne l'ai pas traitée, mais apparemment plus besoin

Il faudrait donc créer un copie des onglets concerné par le fichier, puis éliminer les formules par un copier collage valeurs au même emplacement, supprimer les noms crées par

A+

Bonjour BrunoM45,

Merci pour votre message mais cela ne correspond pas à ma demande, mais plutot d'une autre discussion que j'avais ouverte, non?,

Merci d'avance,

Cordialement,

Re,

Attendez !

Voilà ce que j'ai vu dans votre fichier mis à disposition

image

Faites donc les choses correctement...
vous indiqueriez ce que vous souhaitez directement sur le forum il n'y aurait pas de souci de confusion

Bonjour,

Milles excuses !!!!! , il y a une erreur effectivement de ma part dans le fichier, encore désolé,

Je reposte donc le fichier,

Cordialement,

1test-forum.xlsx (11.34 Ko)

Re,

J'ai bien perdu 15 à 20mn de ma vie

Bonsoir à tous !

Même avec le "bon" fichier, je trouve votre besoin peu.....explicite.

Je tente néanmoins une proposition....

Merci pour votre retour JFL,

C'est presque ça, a la différence prés que j'aimerai après regardé votre proposition la possibilité

0test-forum.xlsx (11.65 Ko)

de descendre cette formule vers le bas :

=INDIRECT(H10&"!"&ADRESSE(SOMMEPROD((Feuil2!A1:T1000="AVIS :")*(LIGNE(Feuil2!A1:T1000)));SOMMEPROD((Feuil2!A1:T1000="AVIS :")*COLONNE(Feuil2!A1:T1))+1))

Sauf qu'en descendant la formule feuil2 reste bloquée, n'y a t-il par un autre moyen que par une formule matricielle?,

Merci pour votre aide,

Cordialement,

Bonsoir de nouveau.....

On résume :

1/ Une erreur sur le fichier...
2/ Une demande peu explicite...
3/ Un post supplémentaire sur la même problématique...
4/ Et maintenant une demande qui évolue....et toujours aussi peu explicite (enfin pour moi)

Cela fait beaucoup non ?

Bonsoir JFL,

Le mieux est de ne plus répondre a ce post que j'ai mis en résolu et utilisé l'autre post ou j'avais posté le bon fichier,

Cordialement,

Rechercher des sujets similaires à "lire valeur celulle determiner somme prod"