Remplissage de tableau en VBA

barichon

XLDnaute Junior
Bonjour à tous,

J'ai un tableau de donnée auquel j'ai rajouté une colonne (colonne AT).
Cette colonne "AT" me serre à afficher des donnée présenter dans mon tableau.

Dans un soucis d'automatisation, je cherche à remplir cette colonne automatiquement via un code VBA.
Voici le code qui me pose porblème:

Code:
Application.Calculation = xlCalculationManual 'beaucoup de lignes donc passage en calcul manuel
nouvligvideo = Sheets("Video Call Detail List").Range("B" & Rows.Count).End(xlUp).Row + 1 'declaration variable
derligne = Sheets("Video Call Detail List").Range("B" & Rows.Count).End(xlUp).Row 'declaration variable

'Remplissage colonne AT
'
'Range("AT" & nouvligvideo & ":AT" & derligne).FormulaR1C1 = _
        "=SI(TEXTE(RC[-38],""hh:mm:ss"")=""00:00:00"";""NO COUNT"";SI(RC[-30]=""OUTGOING"";SI(STXT(RC[-44];1;2)=""VC"";""Room"";SI(STXT(RC[-44];1;3)=""GVA"";""GVA"";SI(RC[-44];1;3)=""RMX"";""Bridged"";SI(STXT(RC[-44];1;3)=""RNIS"";""RNIS"";SI(STXT(RC[-44];1;6)=""ISDN 1"";""ISDN"";SI(DROITE(RC[-44];10)=""CMADesktop"";""CMAD"";SI(DROITE(RC[-44];5)=""RMX 1"";""Bridged"";""Others"")))))));SI(STXT(RC[-36];1;2)=""VC"";""Room"";SI(STXT(RC[-36];1;3)=""GVA"";""GVA"";SI(STXT(RC[-36];1;3)=""RMX"";""Bridged"";SI(STXT(RC[-36];1;4)=""RNIS"";""RNIS"";SI(STXT(RC[-36];1;6)=""ISDN 1"";""ISDN"";SI(DROITE(RC[-36];10)=""CMADesktop"";""CMAD"";SI(DROITE(RC[-36];5)=""RMX 1"";""Bridget"";""Others"")))))))))"

Lors de l’exécution de ma macro, j'obtiens une erreur de type:
Erreur d'execution '1004':
Erreur définie par l'application ou par l'objet.

Je précise que ma formule initiale est testé est que j'ai rajouté 1 niveau de double quote " pour le VBA afin de déspécialiser l'écriture dans les cellules. A la base cette formule ne comporte donc qu'un seul niveau de double quote "

Avez-vous une idée sur la raison de cette erreur ?

Merci par avance pour votre aide.


Cordialement,
 

Dranreb

XLDnaute Barbatruc
Re : Remplissage de tableau en VBA

Bonsoir.
Mettez les noms de fonctions en anglais et utilisez la virgule comme séparateur.
Le mieux c'est d'enregistrer une macro, entrer la formule et pomper la formule dans le code engendré.
Cordialement.
 

Dranreb

XLDnaute Barbatruc
Re : Remplissage de tableau en VBA

Bonjour.
Mettez au point votre formule manuellement.
En Excel 2003, Menu Outils, Macros, Nouvelle macro, Ok.
Revalidez la formule, et cliquez sur le bouton Arrêter l'enregistrement.
Normalement il fabrique justement des FormulaR1C1 dans les instructions engendrées.
Vous n'avez qu'a copier l'expression et la coller dans votre vrai code.

Remarquez: votre formule me parait bien longue. Il serait intéressant de vérifier si on ne pourrait pas en simplifier certaines parties.
À +
 
Dernière édition:

Zon

XLDnaute Impliqué
Re : Remplissage de tableau en VBA

Salut,


En passant, pourquoi vouloir utiliser des formules en dur quand on utilise VBA ? evaluate afin de mettre le résultat oui , ou quand on constuit un fichier où il n'y aura pas de codes .

sinon pour faire avancer le shcmilblick, regardes du coté de la méthode autofill est pratique.

avec un exemple de fichier serait plus simple..

A+++
 

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg