E
Ecureuil
Guest
Bonjour à tous,
Je suis en train d'écrire un script qui ouvre un fichier Excel pour alimenter un autre fichier Excel. Je copie le contenu du premier fichier dans certaines zones du second fichier en utilisant la propiété FormulaR1C1. Mon code ressemble à :
For Ligne=0 To NbLignes-1
For Colonne=0 To NbColonnes-1
SheetDest.Cells(LigneDebDest+Ligne, ColDebDest+Colonne).NumberFormat = SheetOri.Cells(LigneDebOri+Ligne, ColDebOri+Colonne).NumberFormat
SheetDest.Cells(LigneDebDest+Ligne, ColDebDest+Colonne).FormulaR1C1 = SheetOri.Cells(LigneDebOri+Ligne, ColDebOri+Colonne).FormulaR1C1
Next
Next
SheetOri étant ma feuille Excel d'origine et SheetDest ma feuille Excel de destination.
Il se trouve que je ne recopie pas tout le temps l'intégralité des cellules de mon fichier d'origine dans mon fichier de destination. Du coup, certaines formules ne sont plus bonnes et Excel me sort un message comme quoi j'ai une référence circulaire.
Je comprends très bien pourquoi j'ai ce message mais je voudrais pouvoir déterminer quelles formules provoquent une référence circulaire afin de la remplacer par la valeur 'brute' de ma cellule d'origine en faisant un :
SheetDest.Cells(LigneDebDest+Ligne, ColDebDest+Colonne).Value = SheetOri.Cells(LigneDebOri+Ligne, ColDebOri+Colonne).Value
Quelqu'un aurait une petite idée ?
J'espère avoir été assez clair. Et merci à ceux qui ont eu le courage de me lire en entier
Ecureuil
Je suis en train d'écrire un script qui ouvre un fichier Excel pour alimenter un autre fichier Excel. Je copie le contenu du premier fichier dans certaines zones du second fichier en utilisant la propiété FormulaR1C1. Mon code ressemble à :
For Ligne=0 To NbLignes-1
For Colonne=0 To NbColonnes-1
SheetDest.Cells(LigneDebDest+Ligne, ColDebDest+Colonne).NumberFormat = SheetOri.Cells(LigneDebOri+Ligne, ColDebOri+Colonne).NumberFormat
SheetDest.Cells(LigneDebDest+Ligne, ColDebDest+Colonne).FormulaR1C1 = SheetOri.Cells(LigneDebOri+Ligne, ColDebOri+Colonne).FormulaR1C1
Next
Next
SheetOri étant ma feuille Excel d'origine et SheetDest ma feuille Excel de destination.
Il se trouve que je ne recopie pas tout le temps l'intégralité des cellules de mon fichier d'origine dans mon fichier de destination. Du coup, certaines formules ne sont plus bonnes et Excel me sort un message comme quoi j'ai une référence circulaire.
Je comprends très bien pourquoi j'ai ce message mais je voudrais pouvoir déterminer quelles formules provoquent une référence circulaire afin de la remplacer par la valeur 'brute' de ma cellule d'origine en faisant un :
SheetDest.Cells(LigneDebDest+Ligne, ColDebDest+Colonne).Value = SheetOri.Cells(LigneDebOri+Ligne, ColDebOri+Colonne).Value
Quelqu'un aurait une petite idée ?
J'espère avoir été assez clair. Et merci à ceux qui ont eu le courage de me lire en entier
Ecureuil