Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

besoin d'aide sur syntaxe code VBA excel 2007

aurelp

XLDnaute Nouveau
Bonjour à tous,

Je vien vers vous car mon code ne fonctionne pas et je pense que cela vient de ma syntaxe.
J'ai passé un long moment à me relire et à chercher sur la toile des infos mais je sèche completement !!

Pouvez vous m'aider svp ?

Je vous poste ma macro mais avant je vous explique le contexte.

J'ai fais une première macro qui liste sur une feuille excel tous les répertoires présent dans le meme repertoire que mon fichier excel. Ceux-ci représentent les moteurs que l'on fabrique. Ensuite je liste tous les classeurs présents dans chacun de ces répertoires. Ces derniers representent les réferences de pièces de chaque moteur.
Les moteurs et réferences sont enregistrés dans des variables du meme nom.

à partir de là je compare une liste de réferences d'un classeur (prévision charge labo) à ma liste que je vien de créer pour verifier la présence des classeurs (nommé par la réference).
De là je cherche à créer des lien entre classeurs qui me servirons de base de calcul pour la suite.
C'est justement sur ces liens que je bloque. le nom du moteur est en cellule A1 puis B1 et C1 etc mais pour le moment je me contante de partir de la cellule A1 et je ferais une boucle plus tard pour passer de moteur en moteur. La liste des réferences est en dessous du nom de chaque moteur.
pour le moment c'est cette histoire de lien qui m'enbete car j'y integre des variables (moteur et réference)
et ca bloque..

Voici le code:

Sub LienClasseurs()

Dim Chemin, Reference, AdresseRef, Moteur, AdresseMoteur As String

Chemin = ThisWorkbook.Path 'chemin ou est enregistrer ce fichier excel

Workbooks.Open Chemin & "\test gestion dossiers pièces.xls"

' créer les liens vers les classeurs dossiers pièces

Workbooks("prévision charge Labo").Sheets("tableau").Activate
Range("A2").Select
Reference = ActiveCell.Value
AdresseRef = ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)


Workbooks("test gestion dossiers pièces").Sheets("liste dossiers moteurs").Activate
Range("A1").Select
Moteur = ActiveCell.Value
AdresseMoteur = ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)


Sheets("liste dossiers moteurs").Select
Range(AdresseMoteur).Select

Do While Workbooks("test gestion dossiers pièces").Sheets("liste dossiers moteurs").Range(AdresseMoteur).Value <> ""
If Workbooks("test gestion dossiers pièces").Sheets("liste dossiers moteurs").Range(AdresseMoteur).Value = Reference Then
Workbooks("prévision charge Labo").Sheets("tableau").Range(AdresseRef).Offset(0, 1).FormulaR1C1 = "='" & Chemin & " \ " & Moteur & " \ " & Reference & " \[ " & Reference & " .xls] " & " livraison'!R2C6"""
Workbooks("prévision charge Labo").Sheets("tableau").Range(AdresseRef).Offset(0, 2).FormulaR1C1 = "='" & Chemin & " \ " & Moteur & " \ " & Reference & " \[ " & Reference & " .xls] " & " livraison'!R2C7"""
Workbooks("prévision charge Labo").Sheets("tableau").Range(AdresseRef).Offset(0, 3).FormulaR1C1 = "='" & Chemin & " \ " & Moteur & " \ " & Reference & " \[ " & Reference & " .xls] " & " livraison'!R2C8"""
Workbooks("prévision charge Labo").Sheets("tableau").Range(AdresseRef).Offset(0, 15).FormulaR1C1 = "='" & Chemin & " \ " & Moteur & " \ " & Reference & " \[ " & Reference & " .xls] " & " page de garde'!R2C8"""
Else:
Range(AdresseMoteur).Select
ActiveCell.Offset(1, 0).Select
AdresseMoteur = ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)
End If
Loop

End Sub
 

aurelp

XLDnaute Nouveau
Re : besoin d'aide sur syntaxe code VBA excel 2007

Bonjour,

Après une bonne nuit de someil, j'ai trouvé mon erreur.
Voici la syntaxe des formule activecell.formulaR1C1

Workbooks("prévision charge Labo").Sheets("tableau").Range(AdresseRef).Offset(0, 1).FormulaR1C1 = "='" & Chemin & "\" & Moteur & "\" & Reference & "\[" & Reference & ".xls]livraison'!R2C6"
Workbooks("prévision charge Labo").Sheets("tableau").Range(AdresseRef).Offset(0, 2).FormulaR1C1 = "='" & Chemin & "\" & Moteur & "\" & Reference & "\[" & Reference & ".xls]livraison'!R2C7"
Workbooks("prévision charge Labo").Sheets("tableau").Range(AdresseRef).Offset(0, 3).FormulaR1C1 = "='" & Chemin & "\" & Moteur & "\" & Reference & "\[" & Reference & ".xls]livraison'!R2C8"
Workbooks("prévision charge Labo").Sheets("tableau").Range(AdresseRef).Offset(0, 15).FormulaR1C1 = "='" & Chemin & "\" & Moteur & "\" & Reference & "\[" & Reference & ".xls]page de garde'!R2C8"


Si cela peut servir à d'autre

A+
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…