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