Bonjour,
J'ai construit la macro suivante pour effectuer une extraction à partir d'un fichier principal (Fichier_Source) vers un fichier secondaire (Synthèse_Nom_X), respectant trois conditions différentes :
Condition 1 : correspondance du Nom
Condition 2 : donnée inférieure ou égale à une borne supérieure (mensuelle, en nombre)
Condition 3 : donnée supérieure ou égale à une borne inférieure (mensuelle, en nombre)
Lorsque j'exécute la macro, en laissant les deux fichiers ouverts, aucune donnée n'est visiblement exportée du Fichier_Source vers la Synthèse_Nom_X, même si, quand je ferme le dernier fichier, Excel me propose d'enregistrer les modifications, prouvant qu'une opération a malgré tout eu lieu.
J'avais réussi à faire fonctionner la macro plusieurs fois avant de mettre en place les bornes mensuelles (conditions 2 et 3), depuis je ne suis plus parvenu à extraire la moindre donnée, et Excel ne m'affiche aucune erreur.
Tout cela me dépasse, j'ai cherché pendant des heures sans succès. Je me tourne donc vers ce forum et ses utilisateurs chevronnés (dont le talent ne sera pas nécessairement sollicité puisque l'erreur est sûrement toute bête ).
Je reste ouvert également à de meilleures propositions pour effectuer cette opération !
Je vous remercie d'avance et vous souhaite une bonne journée.
J'ai construit la macro suivante pour effectuer une extraction à partir d'un fichier principal (Fichier_Source) vers un fichier secondaire (Synthèse_Nom_X), respectant trois conditions différentes :
Condition 1 : correspondance du Nom
Condition 2 : donnée inférieure ou égale à une borne supérieure (mensuelle, en nombre)
Condition 3 : donnée supérieure ou égale à une borne inférieure (mensuelle, en nombre)
Code:
Sub export_nom_x()
Dim DernièreLigne As Long
Dim i As Long
DernièreLigne = [A65536].End(xlUp).Row
For i = 3 To DernièreLigne
If Sheets("BASE 2016").Range("BY" & i) = "Nom_X" Then
If Sheets("BASE 2016").Range("BZ" & i) <= Sheets("OP").Range("J14") Then 'définition borne mensuelle supérieure
If Sheets("BASE 2016").Range("BZ" & i) >= Sheets("OP").Range("H14") Then 'définition borne mensuelle inférieure
Sheets("BASE 2016").Range("BO" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("A" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BP" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("B" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BQ" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("C" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BR" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("D" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BS" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("E" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BT" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("F" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BU" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("G" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BV" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("H" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BW" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("I" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BX" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("J" & i).PasteSpecial Paste:=xlPasteValues
Sheets("BASE 2016").Range("BY" & i).Copy
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Range("K" & i).PasteSpecial Paste:=xlPasteValues
End If
End If
End If
Next i
Workbooks("Synthèse_Nom_X.xlsm").Sheets("base").Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Lorsque j'exécute la macro, en laissant les deux fichiers ouverts, aucune donnée n'est visiblement exportée du Fichier_Source vers la Synthèse_Nom_X, même si, quand je ferme le dernier fichier, Excel me propose d'enregistrer les modifications, prouvant qu'une opération a malgré tout eu lieu.
J'avais réussi à faire fonctionner la macro plusieurs fois avant de mettre en place les bornes mensuelles (conditions 2 et 3), depuis je ne suis plus parvenu à extraire la moindre donnée, et Excel ne m'affiche aucune erreur.
Tout cela me dépasse, j'ai cherché pendant des heures sans succès. Je me tourne donc vers ce forum et ses utilisateurs chevronnés (dont le talent ne sera pas nécessairement sollicité puisque l'erreur est sûrement toute bête ).
Je reste ouvert également à de meilleures propositions pour effectuer cette opération !
Je vous remercie d'avance et vous souhaite une bonne journée.