Bonsoir à tous
Je rencontre un soucis sur un fichier excel ou j'ai plusieurs formule Excel qui
sont activé en VBA puis qui sont copié en valeur
Le problème est que la macro. n'attends pas la fin des calculs
pour transformer les formules en valeur texte et je me retrouve avec des Erreurs type n/A
J'ai bien parcouru le net et la seul solution qui est d'ailleurs controversé
est le DOEVENTS
Application.Calculation = xlManual ' bloque le calcul automatique.
Sheets("Liste_OF_Sans_Doublon").Range("liste_OF_Sans_Doublon[[NAME_NIVEAU_2]:[Name_Niveau_OF]]").ClearContents
ActiveWorkbook.Connections("Requête - liste_OF_Sans_Doublon").Refresh
DoEvents
Sheets("Liste_OF_Sans_Doublon").Range("F2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=2,IFERROR([@[OF_PERE]]&""-""&(COUNTIF(R2C5:RC5,RC[-1])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("G2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=3,IFERROR((IFERROR(VLOOKUP([@[OF_PERE]],liste_OF_Sans_Doublon[[OF]:[NAME_NIVEAU_2]],3,FALSE),""""))&""-""&(COUNTIF(R2C5:RC5,RC[-2])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("H2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=4,IFERROR((IFERROR(VLOOKUP([@[OF_PERE]],liste_OF_Sans_Doublon[[OF]:[NAME_NIVEAU_3]],4,FALSE),""""))&""-""&(COUNTIF(R2C5:RC5,RC[-3])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("I2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=5,IFERROR((IFERROR(VLOOKUP([@[OF_PERE]],liste_OF_Sans_Doublon[[OF]:[NAME_NIVEAU_4]],5,FALSE),""""))&""-""&(COUNTIF(R2C5:RC5,RC[-4])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("J2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=6,IFERROR((IFERROR(VLOOKUP([@[OF_PERE]],liste_OF_Sans_Doublon[[OF]:[NAME_NIVEAU_5]],5,FALSE),""""))&""-""&(COUNTIF(R2C5:RC5,RC[-5])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("K2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=1,[@[OF_DE_TETE]],IF([@[Niveau_OF]]=2,[@[NAME_NIVEAU_2]],IF([@[Niveau_OF]]=3,[@[NAME_NIVEAU_3]],IF([@[Niveau_OF]]=4,[@[NAME_NIVEAU_4]],IF([@[Niveau_OF]]=5,[@[NAME_NIVEAU_5]],IF([@[Niveau_OF]]=6,[@[NAME_NIVEAU_6]],""""))))))"
Sheets("Liste_OF_Sans_Doublon").Calculate
DoEvents
Sheets("Liste_OF_Sans_Doublon").Range("liste_OF_Sans_Doublon[[NAME_NIVEAU_2]:[Name_Niveau_OF]]").Copy
Sheets("Liste_OF_Sans_Doublon").Range("F2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Aurriez-vous une idée ou solution a m’apporte ?
Merci à tous
Bibbip35
Je rencontre un soucis sur un fichier excel ou j'ai plusieurs formule Excel qui
sont activé en VBA puis qui sont copié en valeur
Le problème est que la macro. n'attends pas la fin des calculs
pour transformer les formules en valeur texte et je me retrouve avec des Erreurs type n/A
J'ai bien parcouru le net et la seul solution qui est d'ailleurs controversé
est le DOEVENTS
Application.Calculation = xlManual ' bloque le calcul automatique.
Sheets("Liste_OF_Sans_Doublon").Range("liste_OF_Sans_Doublon[[NAME_NIVEAU_2]:[Name_Niveau_OF]]").ClearContents
ActiveWorkbook.Connections("Requête - liste_OF_Sans_Doublon").Refresh
DoEvents
Sheets("Liste_OF_Sans_Doublon").Range("F2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=2,IFERROR([@[OF_PERE]]&""-""&(COUNTIF(R2C5:RC5,RC[-1])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("G2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=3,IFERROR((IFERROR(VLOOKUP([@[OF_PERE]],liste_OF_Sans_Doublon[[OF]:[NAME_NIVEAU_2]],3,FALSE),""""))&""-""&(COUNTIF(R2C5:RC5,RC[-2])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("H2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=4,IFERROR((IFERROR(VLOOKUP([@[OF_PERE]],liste_OF_Sans_Doublon[[OF]:[NAME_NIVEAU_3]],4,FALSE),""""))&""-""&(COUNTIF(R2C5:RC5,RC[-3])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("I2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=5,IFERROR((IFERROR(VLOOKUP([@[OF_PERE]],liste_OF_Sans_Doublon[[OF]:[NAME_NIVEAU_4]],5,FALSE),""""))&""-""&(COUNTIF(R2C5:RC5,RC[-4])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("J2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=6,IFERROR((IFERROR(VLOOKUP([@[OF_PERE]],liste_OF_Sans_Doublon[[OF]:[NAME_NIVEAU_5]],5,FALSE),""""))&""-""&(COUNTIF(R2C5:RC5,RC[-5])),""N-A""),"""")"
Sheets("Liste_OF_Sans_Doublon").Range("K2").FormulaR1C1 = _
"=IF([@[Niveau_OF]]=1,[@[OF_DE_TETE]],IF([@[Niveau_OF]]=2,[@[NAME_NIVEAU_2]],IF([@[Niveau_OF]]=3,[@[NAME_NIVEAU_3]],IF([@[Niveau_OF]]=4,[@[NAME_NIVEAU_4]],IF([@[Niveau_OF]]=5,[@[NAME_NIVEAU_5]],IF([@[Niveau_OF]]=6,[@[NAME_NIVEAU_6]],""""))))))"
Sheets("Liste_OF_Sans_Doublon").Calculate
DoEvents
Sheets("Liste_OF_Sans_Doublon").Range("liste_OF_Sans_Doublon[[NAME_NIVEAU_2]:[Name_Niveau_OF]]").Copy
Sheets("Liste_OF_Sans_Doublon").Range("F2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Aurriez-vous une idée ou solution a m’apporte ?
Merci à tous
Bibbip35