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
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