[Déplacé VB6 --> VBA] Problème dans formule

Everlast03 Messages postés 29 Date d'inscription mardi 27 avril 2010 Statut Membre Dernière intervention 8 décembre 2014 - 10 mai 2010 à 13:52
Everlast03 Messages postés 29 Date d'inscription mardi 27 avril 2010 Statut Membre Dernière intervention 8 décembre 2014 - 10 mai 2010 à 14:31
Bonjour,
J'ai un problème mais je ne comprends pas d'où il provient.
Pouvez vous m'aider ?

Voici une copie de mon code :

Dim NbMarqueurs As Integer, NbCapteurs As Integer
Dim IMark As Integer, ICapt As Integer

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 07/05/2010

Dim CellD As String, ICellD As Integer                          ' Cellule de destination
Dim CellS As String, ICellS As Integer, IcellS0 As Integer      ' Cellule source
Dim temp As String
'
' Nombre de marqueurs
'Open "c:\temp\trace.txt" For Output As #1
    Sheets("Données Brutes").Select
    Range("C152").Select
    ActiveCell.FormulaR1C1 = "=MAX(R[-145]C:R[-3]C)/2"
    NbMarqueurs = ActiveCell.Value
' Nombre de capteurs
    Range("C153").Select
    ActiveCell.FormulaR1C1 = "=COUNT(R[-146]C:R[-4]C)/R[-1]C/2"
    NbCapteurs = ActiveCell.Value
' Lecture des données
    Sheets("Rotor").Select
' Vitesses
    Range("D12").Select  ' Positionnement sur la première ligne
    ICellD 11: IcellS0 6
    For IMark = 1 To NbMarqueurs
        ICellD ICellD + 1: CellD "D" & ICellD
        ICellS IcellS0 + IMark: CellS "F" & ICellS
        For ICapt = 1 To NbCapteurs
            Range(CellD).Select
'            Print #1, CellD, CellS
'            ActiveCell.FormulaR1C1 = "='Données Brutes'!R[2]C[2]"
            Debug.Print "='Données Brutes'!" & CellS
            temp = "='Données Brutes'!" & CellS
            ActiveCell.FormulaR1C1 = temp
            ICellD ICellD + 1: CellD "D" & ICellD
            ICellS ICellS + NbCapteurs + 1: CellS "F" & ICellS
        Next ICapt
    Next IMark
'Close #1
  
End Sub


Et la partie qui m'intéresse donc est :
 Debug.Print "='Données Brutes'!" & CellS
            temp = "='Données Brutes'!" & CellS
            ActiveCell.FormulaR1C1 = temp


Merci d'avance...

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 mai 2010 à 14:23
Salut
Et quel est ce problème ?
Une erreur ? Laquelle ? Sur quelle ligne ?

Cells est un mot clé du langage VBA (d'où l'intérêt de poster dans la bonne catégorie).
Pour tes variables, utilise la notation "à la hongroise", tu seras sûr de ne jamais (ou presque) tomber sur ce genre de problème :
    Dim sCellD As String
    Dim sCellS As String
    Dim stemp As String

's' pour String (aussi str)
'i' pour Integer (int)
'l' pour Long (lng)
'b' pour Boolean
'o' pour Object (obj)
'a' pour Array = tableaux(arr)
'dte' pour Date

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Everlast03 Messages postés 29 Date d'inscription mardi 27 avril 2010 Statut Membre Dernière intervention 8 décembre 2014
10 mai 2010 à 14:31
Quand ma formule se retrouve dans mon tableau elle n'est pas de la forme :
='Données Brutes'!F7


mais plutôt de la forme :
='Données Brutes'!'F7'


Et je ne comprend pas pourquoi ...
0
Rejoignez-nous