• Initiateur de la discussion Initiateur de la discussion Prince1978
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Prince1978

Guest
Bonjour,

Je viens de découvrir votre site, et je me suis dit : pourquoi ne pas poser ma question ici, pour m'aider à résoudre mon p'tit problème.

J'ai trouvé un macro qu'il me trouve assez intéressant et utile pour moi

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a%, m$
If Target.Count > 1 Then Exit Sub
If Not Intersect(Me.Range("E11:E58"), Target) Is Nothing Then
If Target.Value = "OUI" And Not Target.Offset(0, -8).Value Like "Fact*" Then
With Target.Offset(0, -8)
a = Right(.Value, 4)
m = Left(.Value, Len(.Value) - 5)
End With
On Error Resume Next
Workbooks.Open ThisWorkbook.Path & "\Test.xlsm"
On Error GoTo 0
With Workbooks("Test.xlsm").Worksheets("Test")
.Range("D4").Value = m
.Range("E4").Value = a
'.PrintOut
End With
End If
End If
End Sub

Je souhaite juste modifier une partie de cette macro,
Je vous donne plus d'info pour être plus précis
Je souhaite ouvrir un fichier qui se trouve sur un chemin précis, en utilisant se macro
(C:\Users\Admin\Documents\Documents importants)

Apparemment se code est fait pour les fichiers qu'ils se trouvent dans le même répertoire.

Merci

A plus tard
 
Re : Modification macro

Bonjour et bienvenue sur le forum,

Juste changer
Code:
Workbooks.Open ThisWorkbook.Path & "\Test.xlsm"

Par:

Code:
Workbooks.Open "C:\Users\Admin\Documents\Documents importants\Test.xlsm"

Où Test.xlsm est le nom du fichier à ouvrir et qui doit contenir (pour le reste de la macro) une feuille nommée "Test".

A+
 
Re : Modification macro

Re,

Tout d'abord merci pour ta solution,

Lorsque j'ai fais le changement j'ai eu :

[QUOTEPrivate Sub Worksheet_Change(ByVal Target As Range)
Dim a%, m$
If Target.Count > 1 Then Exit Sub
If Not Intersect(Me.Range("E11:E58"), Target) Is Nothing Then
If Target.Value = "OUI" And Not Target.Offset(0, -8).Value Like "Fact*" Then
With Target.Offset(0, -8)
a = Right(.Value, 4)
m = Left(.Value, Len(.Value) - 5)
End With
On Error Resume Next
Workbooks.Open "C:\Users\Admin\Documents\Documents importants\Test.xlsm"
On Error GoTo 0
With Workbooks("Test.xlsm").Worksheets("Test")
.Range("D4").Value = m
.Range("E4").Value = a
'.PrintOut
End With
End If
End If
End Sub ][/QUOTE]
 
Re : Modification macro

Bonjour,
Essaye
[QUOTEPrivate Sub Worksheet_Change(ByVal Target As Range)
Dim a%, m$
If Target.Count > 1 Then Exit Sub
If Not Intersect(Me.Range("E11:E58"), Target) Is Nothing Then
If Target.Value = "OUI" And Not Target.Offset(0, -8).Value Like "Fact*" Then
With Target.Offset(0, -8)
a = Right(.Value, 4)
m = Left(.Value, Len(.Value) - 5)
End With
On Error Resume Next
Workbooks.Open "C:\Users\Admin\Documents\Documents importants\Test.xlsm"
On Error GoTo 0
With Workbooks("Test.xlsm").Workbooks("Test")
.Range("D4").Value = m
.Range("E4").Value = a
'.PrintOut
End With
End If
End If
End Sub ][/QUOTE]
 
Re : Modification macro

Re

Code:
With Workbooks("Test.xlsm").Worksheets("Test")

@Prince1978, j'ai bien spécifié dans mon premier post que le fichier Test.xlsm devait contenir, d'après la macro une feuille nommée "Test", c'est sans doute là que se pose le problème.

Tu ne dis pas si le fichier "Test.xlsm" c'est bien ouvert!?

@RONIBO
With Workbooks("Test.xlsm").Workbooks("Test")

Ne peut pas fonctionner!!!!

A+
 
Dernière modification par un modérateur:
Re : Modification macro

Merci a vous deux pour vos efforts,
@ronibo ton code ne marche pas!
@ce code se trouve dans un fichier nommée Base,
Je veux quel ouvre le fichier test.
Après mes teste rien se passe il me surligne comme j'ai préciser auparavant
Réponse à ta question non il c'est pas ouvert
À+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
732
Réponses
5
Affichages
910
Retour