jui42

XLDnaute Junior
Bonjour,
Après plusieurs recherches et seul dans ces dernières, je m'en remet au forum qui m'a déjà aidé par le passé.
J'ai en effet rencontré un problème lors de l'amélioration d'une macro. Cette macro ([demander] présente dans "fiche_op.xlsm"), selon une référence inscrite par l'utilisateur va extraire des informations tirés de "tableau_controle.xlsm" pour crée un nouveau classeur excel et y inscrire ces données copiées "6.B44.xlsm". Je voudrais pouvoir mettre en forme les cellules correspondant au mesure selon les valeurs minimum et maximum présente sur le même fichier. Une MFC directement sur "tableau_controle" ne fonctionne pas car j'ajoute des colonne "mesure" selon le nombre de produit à contrôler.
Je vous joint les fichiers pour plus de compréhensions, en espérant avoir été clair, Je vous remercie pour votre temps.
Cordialement,
 

Pièces jointes

  • 6.B44.xlsm
    16.8 KB · Affichages: 4
  • fiche_op.xlsm
    59.9 KB · Affichages: 4
  • tableau_controle.xlsm
    35.9 KB · Affichages: 3

Deadpool_CC

XLDnaute Accro
manque de temps pour te le faire ... mais as-tu simplement essayer de faire un enregistrement de macro en appliquant la MFC à la main. et une fois l'enregistrement arrêter , aller voir le code pour l'intégrer dans ta macro actuelle ?
 

jui42

XLDnaute Junior
Salut,
Oui j'ai essayé de faire comme cela mais tout se casse lors des simulations en conditions réelles car le nombre de colonnes de mesures est variables et donc Excel ne prend pas en compte l'insertion de colonne et donc prend les mauvaises cellules en paramètres. J'ai essayé de fixer les cellules avec des $ mais je m'y prend peut être mal ? :/
 

Deadpool_CC

XLDnaute Accro
Une MFC directement sur "tableau_controle" ne fonctionne pas car j'ajoute des colonne "mesure" selon le nombre de produit à contrôler.
Tu ajoutes des "Colonnes" ? en regardant ton tableau_controle c'est pas plutot de lignes que tu ajoute ?

et ensuite quelles logiques pour tes MFC ? que veut tu faire ?

A moins que ta MFC tu la souhaites dans le 6.B44.xlsm ?
 
Dernière édition:

jui42

XLDnaute Junior
Tu ajoutes des "Colonnes" ? en regardant ton tableau_controle c'est pas plutot de lignes que tu ajoute ?

et ensuite quelles logiques pour tes MFC ? que veut tu faire ?

A moins que ta MFC tu la souhaites dans le 6.B44.xlsm ?
Oui, lorsque tu appuie sur le bouton contrôle reception, le programme de demande également le nombre de produit à contrôler et j'ajoute des colonnes dans le fichier 6.B44.xlsm où tu peux voir qu'il y a plusieurs colonne de mesure ("mesure 1" "mesure 2" etc...). La logique de mes MFC est de colorier les case mesure en vert si leur valeur est comrpise entre valeur min et valeur max et rouge le cas contraire. Et en effet, je souhaite appliquer cette MFC sur le 6.B44.xlsm

La MFC du tableau_controle etait censé se reporter sur le 6.B44 mais l'ajout des colonnes casse tout...
 

Deadpool_CC

XLDnaute Accro
REgarde la MFC dans le fichier joint.
Formule un peu compliqué mais qui trouve les colonnes "Valeur minimum" et "Valeur maximum" pour les comparer.

=SI(ESTVIDE($A2);FAUX;SI(ET(E2>=INDEX($A2:$AA2;;EQUIV("Valeur minimum";$A$1:$AA$1;0));E2<=INDEX($A2:$AA2;;EQUIV("Valeur maximum";$A$1:$AA$1;0)));VRAI;FAUX))

Donc l'insertion manuelle de colonne (exemple "G" dans le fichier joint ou de la ligne 8 à bien été pris en compte par la MFC (Zone d'application c'est bien étendue)
ps : je cherche Min et Max dans les colonnes A à Z ... si jamais tu as + de colonnes de mesure faudra juste adapter la formule pour chercher sur plus de colonnes.
la MFC Prend la ligne Vide sous ton tableau de mesure et donc dans la formule le 1er SI sert à ne rien faire si rien en colonne A.

Je te laisse faire l'autre MFC pour le Rouge (pour la méthode apprentissage et si trop compliqué fait signe que je fasse la MFC complémentaire en rouge.

1654775576379.png
 

Pièces jointes

  • 6.B44.xlsm
    17 KB · Affichages: 2

jui42

XLDnaute Junior
REgarde la MFC dans le fichier joint.
Formule un peu compliqué mais qui trouve les colonnes "Valeur minimum" et "Valeur maximum" pour les comparer.

=SI(ESTVIDE($A2);FAUX;SI(ET(E2>=INDEX($A2:$AA2;;EQUIV("Valeur minimum";$A$1:$AA$1;0));E2<=INDEX($A2:$AA2;;EQUIV("Valeur maximum";$A$1:$AA$1;0)));VRAI;FAUX))

Donc l'insertion manuelle de colonne (exemple "G" dans le fichier joint ou de la ligne 8 à bien été pris en compte par la MFC (Zone d'application c'est bien étendue)
ps : je cherche Min et Max dans les colonnes A à Z ... si jamais tu as + de colonnes de mesure faudra juste adapter la formule pour chercher sur plus de colonnes.
la MFC Prend la ligne Vide sous ton tableau de mesure et donc dans la formule le 1er SI sert à ne rien faire si rien en colonne A.

Je te laisse faire l'autre MFC pour le Rouge (pour la méthode apprentissage et si trop compliqué fait signe que je fasse la MFC complémentaire en rouge.

Regarde la pièce jointe 1141956
Super je te remercie pour ton temps, je vais essayer d'adapter cela en langage vba car je ne travaille pas exclusivement sur ce fichier. Merci beaucoup je te fais signe si jamais j'ai besoin d'aide ;)
 

Deadpool_CC

XLDnaute Accro
pour la transcription en VBA
tente enregistrer macro, va dans la MFC revalider le tout et regarde le code...
j'ai pas compris que tu voulais l'intégrer directement dans ton VBA
et en plus je ne sais pas ou tu voulais l'integrer (quelle macro) car il y a des MdP sur certain fichier pour l'accès VBA ... lol
 

Deadpool_CC

XLDnaute Accro
Pour la MFC "Rouge" la formule change un peu mais la mise en place de la MFC en VBA devrait être un truc du genre :
VB:
Sub MFC_ROUGE()
    Range("E2:I9").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=SI(ESTVIDE($A2);FAUX;SI(OU(E2<INDEX($A2:$AA2;;EQUIV(""Valeur minimum"";$A$1:$AA$1;0));E2>INDEX($A2:$AA2;;EQUIV(""Valeur maximum"";$A$1:$AA$1;0)));VRAI;FAUX))"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Font
        .Bold = True
        .Italic = False
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent2
        .TintAndShade = 0.399945066682943
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub

Dans la formule je test valeur < Min OU valeur > Max ...tout le reste ne change pas par rapport à la formule de la MFC "Verte"

Bon courage !
 

jui42

XLDnaute Junior
Tu est un monstre ! J'ai essayé de transcrire en vba je n'avais pas vu le message. Merci beaucoup vraiment je vais regarder tout ça et essayer de l'adapter. En tout cas merci beaucoup je te tiens au jus si je bloque et dans le cas contraire je mettrait le fil en résolu
 

jui42

XLDnaute Junior
Arrf, toujours le même problème lorsque je change le nombre de colonnes toutes les formules sont perturbés et prennent en compte les mauvaise valeurs.
Je te joint le code de création des fichiers peut être que ça sera plus simple que ça semble l'être. Le mdp est "azerty" si besoin ^^
VB:
Option Explicit
Option Compare Text

Sub demander()
    
    ' DEFINITION DES VARIABLES QU'ON VA UTILISER
    Dim extension   As String
    Dim chemin      As String
    Dim nomfichier  As String
    Dim cb1         As Variant, v As Range
    Dim chem_fichier As String, wb As Workbook, wb_back As Workbook, wa As Workbook, NewFile As String
    Dim mon_fichier As String, test As String, test_pdf As String
    Dim entete      As Range
    Dim chem_pdf    As String
    Dim ext         As String
    Dim colonne     As String
    
    ' PREPARATION DE LA VALEUR D'ENTRER (C'EST LA REFERENCE)*
    
    cb1 = InputBox("Rentrer une valeur")
    
    colonne = InputBox("Combien de produit devez-vous contrôler ?")
    
    If colonne = "" Then
        GoTo NothingFound_
    End If
    
    If IsNumeric(colonne) = False Then
        
        GoTo NothingFound_
    End If
    
    If InStr(1, colonne, ",") Then
        GoTo NothingFound_
    End If
    
    If InStr(1, colonne, "-") Then
        GoTo NothingFound_
    End If
    
    If InStr(1, colonne, "_") Then
        GoTo NothingFound_
    End If
    
    If InStr(1, colonne, ".") Then
        GoTo NothingFound_
    End If
    
    ' TEST POUR S'ASSURER QUE L'UTILISATEUR ENTRE UNE VALEUR
    
    If cb1 = "" Then
        GoTo NothingFound
    End If
    
    chem_pdf = "Z:\Industriel\Projets\Projet contrôle réception\"
    ext = ".pdf"
    
    test_pdf = Dir(chem_pdf & "Gamme_ctrl_" & cb1 & ".pdf")
    
    ' TEST POUR S'ASSURER QUE LA GAMME DE CONTROLE PDF EXISTE
    
    If test_pdf <> "" Then
        
        ActiveWorkbook.FollowHyperlink (chem_pdf & "Gamme_ctrl_" & cb1 & ".pdf")
    Else
        MsgBox ("fichier de contrôle de " & cb1 & " est introuvable")
    End If
    
    'DEFINITION DES ELEMENT NECESSAIRE AU TEST
    
    Dim fso         As Object, x As Boolean
    chem_fichier = "Z:\Industriel\Projets\Projet contrôle réception\ProjetVBAcode\"
    mon_fichier = cb1 & ".xlsm"
    test = Dir(chem_fichier & mon_fichier)
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    x = fso.FileExists(chem_fichier & mon_fichier)
    
    ' TEST POUR SAVOIR SI LE FICHIER DE CONTROLE RECEPTION ASSOCIE A LA REFERENCE EXISTE
    
    If test <> "" Then
        
        ' On ouvre et on protège toutes les feuilles du classeur qu'on utilise */
        
        Application.Workbooks.Open (chem_fichier & "\" & mon_fichier)
        Sheets("reference").Visible = -1
        Dim ab      As Long
        Dim i       As Long
        ab = ActiveWorkbook.Worksheets.Count
        For i = 1 To ab
            Sheets(i).Protect DrawingObjects:=True, _
                              Contents:=True, _
                              Scenarios:=True, Password:="test"
        Next i
        
        
        ' On enleve la protection pour la feuille qu'on va utiliser
        
        Sheets("reference").Copy After:=Sheets(Sheets.Count)
        
        ActiveSheet.Unprotect ("test")
        
        'on renomme
        
        ActiveSheet.Name = Format(Date, "dd mmm yyyy")
        
         With ActiveSheet.Range("F12").Validation
            .Delete
            .Add Type:=xlValidateList, Formula1:=Format(Date, "dd mmm yyyy")
                    
                    
        End With
        
        'On insère nos colonnes
        
        For i = 1 To colonne
            ActiveSheet.Range("E1") = ("Mesures " & i)
            ActiveSheet.Columns("E").Copy     '.Insert Shift:=xlToLeft
            ActiveSheet.Columns("E").Insert Shift:=xlToRight
            
        Next

            
            
            
            
            
                    ' Dim y As Long, z As Long
               ' For z = 5 To colonne
                    'For y = 2 To 7
                          '  If Cells(y, z).Value < Cells(y, colonne + 1).Value And Cells(y, z).Value > Cells(y, colonne + 2).Value Then
                            '    Cells(y, z).Interior.ColorIndex = 15
                           ' End If
                 '   Next y
               ' Next z
                  
        ' On corrige l'erreur par défaut d'Excel manuellement
        
        'ActiveSheet.Columns("E:E").Delete
        

        
    
        
        
        'On rend la feuille "reference" invisible pour l'utilisateur
        
        
            ActiveSheet.Buttons.Add(221.5, 492.25, 57.75, 12.75).Select
                

                With Selection
                    .OnAction = "'Z:\Industriel\Projets\Projet contrôle réception\ProjetVBAcode\fiche_op.xlsm'!Feuil1.Imprimer"
                    .Characters.Text = "Validé contrôle"
                    .Font.Bold = True
                End With
                
                                
                ActiveSheet.Buttons.Add(221.5, 572.25, 57.75, 12.75).Select
                
                With Selection
                    .OnAction = "'Z:\Industriel\Projets\Projet contrôle réception\ProjetVBAcode\fiche_op.xlsm'!Feuil1.Imprimer"
                    .Characters.Text = "Non Conformité"
                    .Font.Bold = True
                End With
                
                
                
        
        Sheets("reference").Visible = 2
        ActiveSheet.Columns("D").ColumnWidth = 20
        
        ActiveWorkbook.Save
        
    Else
        ' CREATION DU FICHIER DE CONTROLE SI IL N'EXISTE PAS
        
        Set wb_back = Workbooks.Open(ThisWorkbook.Path & "\" & "tableau_controle.xlsm")
        Set wb_back = ActiveWorkbook
        extension = ".xlsm"
        chemin = "Z:\Industriel\Projets\Projet contrôle réception\ProjetVBAcode\"
        nomfichier = cb1 & extension
        
        ActiveSheet.Range("B1:J1").Select
        Selection.Copy
        
        Set wb = Application.Workbooks.Add
        Set wb = ActiveWorkbook
        
        With ActiveWorkbook
            
            Selection.Range("A1").PasteSpecial xlPasteFormats
            Selection.Range("A1").PasteSpecial xlPasteAll
            
            Selection.HorizontalAlignment = xlCenter
            Selection.VerticalAlignment = xlCenter
            
            .SaveAs Filename:=chemin & "temporaire.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
            
        End With
        
        
        Set wb_back = Workbooks.Open(ThisWorkbook.Path & "\" & "tableau_controle.xlsm")
        Set wb_back = ActiveWorkbook
        
        ' Ici commence la fonction de recherche
        Dim FirstFound As String ' definition des variable que l'on va utiliser
        Dim FoundCell As Range, rng As Range
        Dim myRange As Range, LastCell As Range
        
        'Valeur a chercher cb1
        
        Set myRange = ActiveSheet.UsedRange.Columns(2)
        Set LastCell = myRange.Cells(myRange.Cells.Count)
        Set FoundCell = myRange.Find(what:=cb1, After:=LastCell, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext)
        
        'Test pour voir si qlq chose est trouver
        If Not FoundCell Is Nothing Then
            FirstFound = FoundCell.Address
            
        Else
            Application.Workbooks("temporaire.xlsm").Close
            
            Kill (chemin & "temporaire.xlsm")
            
            Workbooks("tableau_controle.xlsm").Close
            GoTo NothingFound
        End If
        
        Set rng = FoundCell
        ' TEST POUR EMPECHER L'ERREUR SUR LA VALEUR TROUVEE
        
        If rng <> cb1 Then
            
            Application.Workbooks("temporaire.xlsm").Close
            
            Kill (chemin & "temporaire.xlsm")
            
            Workbooks("tableau_controle.xlsm").Close
            
            GoTo NothingFound
            
        Else
            
            'Tour jusqu'a que ça trouve tout
            Do Until FoundCell Is Nothing
                'Trouve la nouvelle cellule avec la valeur
                Set FoundCell = myRange.FindNext(After:=FoundCell)
                
                'Ajoute la valeur a la variable tableau
                Set rng = Union(rng, FoundCell)
                
                'Test pour sortir de la boucle
                If FoundCell.Address = FirstFound Then Exit Do
                'loop va recommencer la boucle
            Loop
            
            'selection du tableau
            
            rng.Columns("A:I").Select
            Selection.Copy
            
            ' on se place dans la fiche produit
            wb.Activate
            With ActiveWorkbook
                
                'on colle les données
                Selection.Range("A2").PasteSpecial xlPasteFormats
                Selection.Range("A2").PasteSpecial xlPasteAll
                Selection.HorizontalAlignment = xlCenter
                Selection.VerticalAlignment = xlCenter
                Selection.Columns("D").AutoFit
                Selection.Columns("B").AutoFit
                Selection.Columns("H").AutoFit
                Selection.Borders.LineStyle = Excel.XlLineStyle.xlContinuous
                
                ActiveSheet.Range("A10") = "Nom"
                
                ActiveSheet.Range("A11") = "Date_reception"
                ActiveSheet.Columns("A").AutoFit
                
                ActiveSheet.Range("A12") = "N° LOT"
                
                ActiveSheet.Range("D10") = "VALIDATION DU CONTROLE"
                ActiveSheet.Range("D10:E10").Merge
                
                ActiveSheet.Range("D11:E12").Merge
                
                
                ActiveSheet.Range("A10:H12").Select
                
                Selection.Borders.LineStyle = Excel.XlLineStyle.xlContinuous
                
                ActiveSheet.Range("B10:C10").Merge
                ActiveSheet.Range("B11:C11").Merge
                ActiveSheet.Range("B12:C12").Merge
                
                Selection.HorizontalAlignment = xlCenter
                Selection.VerticalAlignment = xlCenter
                
                Selection.Borders.LineStyle = 1
                Selection.Borders.LineStyle = Excel.XlLineStyle.xlContinuous
                
                ActiveSheet.Range("A2").EntireRow.Delete
                ActiveSheet.Range("A12").EntireRow.Delete
                ActiveSheet.Range("F9:H9").Merge

                With ActiveSheet.Range("F9").Validation
                    .Delete
                    .Add Type:=xlValidateList, Formula1:="N° Bon de retour, N° de dérogation"
                    
                End With
                ActiveSheet.Range("F9").Interior.ColorIndex = 15
                ActiveSheet.Range("F9").VerticalAlignment = xlCenter
                ActiveSheet.Range("F9").HorizontalAlignment = xlCenter
                ActiveSheet.Range("F11") = "Date :"
                ActiveSheet.Range("F11").Interior.ColorIndex = 15
                ActiveSheet.Range("F10:H10").Merge
                ActiveSheet.Range("F11:H11").Merge
                ActiveSheet.Range("F12:H13").Merge
                ActiveSheet.Range("F12:H13").Borders.LineStyle = Excel.XlLineStyle.xlContinuous
                ActiveSheet.Rows("11:8").RowHeight = 20
                
                
                ActiveSheet.Range("D9").HorizontalAlignment = xlCenter
                ActiveSheet.Range("D10").HorizontalAlignment = xlCenter
                
                ActiveSheet.Range("B12:C13").Merge
                ActiveSheet.Range("A12:A13").Merge
                ActiveSheet.Range("A12") = "Visa"
                ActiveSheet.Range("A12").VerticalAlignment = xlCenter
                ActiveSheet.Range("A12").HorizontalAlignment = xlCenter
                ActiveSheet.Range("A12:C13").Borders.LineStyle = Excel.XlLineStyle.xlContinuous
                ActiveSheet.Range("B12").VerticalAlignment = xlCenter
                ActiveSheet.Range("B12").HorizontalAlignment = xlCenter
                
                With ActiveSheet.Range("D10").Validation
                    .Delete
                    .Add Type:=xlValidateList, Formula1:="Accepté, refusée, Accepté par dérogation"
                    
                End With
                
                 With ActiveSheet.Range("F12").Validation
                    .Delete
                    .Add Type:=xlValidateList, Formula1:=Format(Date, "dd/mm/yy")
                    
                    
                End With
                ActiveSheet.Range("F12").VerticalAlignment = xlCenter
                ActiveSheet.Range("F12").HorizontalAlignment = xlCenter
                ActiveSheet.Range("A9:A12").Interior.ColorIndex = 15
                ActiveSheet.Range("D9").Interior.ColorIndex = 15
                ActiveSheet.Columns("B").ColumnWidth = 12
                ActiveSheet.Columns("H").ColumnWidth = 8
                
                ActiveSheet.Range("D12:E12").Merge
                ActiveSheet.Range("D12") = "Non Conformité"
                ActiveSheet.Range("D12").Interior.ColorIndex = 15
                ActiveSheet.Range("D12").VerticalAlignment = xlCenter
                ActiveSheet.Range("D12").HorizontalAlignment = xlCenter
                
                ActiveSheet.Range("D13:E13").Merge
                
                ActiveSheet.Range("D12:E13").Borders.LineStyle = Excel.XlLineStyle.xlContinuous
                


                ActiveSheet.Name = Format("reference")
                
                ' protection des feuilles de calcul
                Dim kc As Long
                Dim k As Long
                kc = ActiveWorkbook.Worksheets.Count
                For k = 1 To kc
                    Sheets(k).Protect DrawingObjects:=True, _
                                      Contents:=True, _
                                      Scenarios:=True, Password:="test"
                Next k
                
                Sheets("reference").Copy After:=Sheets(Sheets.Count)
                ActiveSheet.Unprotect ("test")
                ActiveSheet.Name = Format(Date, "dd mmm ")
                
                
                
                With ActiveSheet.Range("F12").Validation
                    .Delete
                    .Add Type:=xlValidateList, Formula1:=Format(Date, "dd/mm/yy")
                    
                    
                End With
                

                
                ' Insertion des colonnes "mesure" grâce à une copie du fichier référence
                For i = 1 To colonne
                    
                    ActiveSheet.Range("E1") = ("Mesures " & i)
                    ActiveSheet.Columns("E").Copy     '.Insert Shift:=xlToLeft
                    ActiveSheet.Columns("E").Insert Shift:=xlToRight
                    ' faire copier coller de la ligne
                    
                Next
                
               ' Dim y_ As Long, z_ As Long
                'For z_ = 5 To colonne
                    'For y_ = 2 To 7
                           ' If Cells(y_, z_).Value < Cells(y_, colonne + 1).Value And Cells(y_, z_).Value > Cells(y_, colonne + 2).Value Then
                                'Cells(y_, z_).Interior.ColorIndex = 15
                           ' End If
                  '  Next y_
               ' Next z_
                
                ActiveSheet.Columns("E:E").Delete

                
                'Fonction anti vide a developper

                
                
                ' Création du bouton sur la feuille contenant les données
                    ActiveSheet.Range("E2:I9").Select
                    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
                    "=SI(ESTVIDE($A2);FAUX;SI(OU(E2<INDEX($A2:$AA2;;EQUIV(""Valeur minimum"";$A$1:$AA$1;0));E2>INDEX($A2:$AA2;;EQUIV(""Valeur maximum"";$A$1:$AA$1;0)));VRAI;FAUX))"
                    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
                    With Selection.FormatConditions(1).Font
                        .Bold = True
                        .Italic = False
                        .TintAndShade = 0
                     End With
                     With Selection.FormatConditions(1).Interior
                            .PatternColorIndex = xlAutomatic
                            .ThemeColor = xlThemeColorAccent2
                            .TintAndShade = 0.399945066682943
                     End With
                     Selection.FormatConditions(1).StopIfTrue = False
                
            

                
                ActiveSheet.Buttons.Add(221.5, 492.25, 57.75, 12.75).Select
            

                With Selection
                    .OnAction = "'Z:\Industriel\Projets\Projet contrôle réception\ProjetVBAcode\fiche_op.xlsm'!Feuil1.Imprimer"
                    .Characters.Text = "Validé contrôle"
                    .Font.Bold = True
                End With
                
                
                
                
                ActiveSheet.Buttons.Add(221.5, 572.25, 57.75, 12.75).Select
                
                With Selection
                    .OnAction = "'Z:\Industriel\Projets\Projet contrôle réception\ProjetVBAcode\fiche_op.xlsm'!Feuil1.Imprimer"
                    .Characters.Text = "Non Conformité"
                    .Font.Bold = True
                End With
                
                
                Sheets("reference").Visible = 2
                
                ActiveSheet.Columns("D").ColumnWidth = 20
                
                
                .SaveAs Filename:=chemin & cb1 & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
                
            End With
            
            Workbooks("tableau_controle.xlsm").Close
        End If
        
        Kill (chemin & "temporaire.xlsm")
    End If
    
    
    
    
    
    
    
    
    Exit Sub
    
    'Message d'erreur
NothingFound:
    
    MsgBox ("Aucune valeur " & cb1 & "        n'a été trouvé. Veuillez réessayer")
    
NothingFound_:
    MsgBox ("Un problème lors de la saisie du nombre de mesures a été détecté")
    
End Sub
 

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088