Bonjour !
voici un code que je fais tourner sur un fichier que nous utilisons au travail ; ce qu'il fait est d'aller checker le contenu d'un dossier dès qu'on entre une valeur dans une cellule d'une colonne entière : s'il y a correspondance, une MsgBox nous propose d'ouvrir le fichier idoine.
Cela a demandé pas mal de travail, d'erreurs, et d'aide : mes connaissances en code/VBA sont fortement limitées. Mais là, mes maigres "skills" ne me suffisent plus ^^' J'aurais besoin de faire un second check à partir de la même valeur rentrée dans la cellule :
=> check le contenu de la cellule dans la Feuille 1 vers une colonne de la Feuille 2
=> s'il y a une correspondance, une MsgBox devrait afficher le contenu de la cellule +1 (offset) de la Feuille 2
Je suppose que je dois jouer avec la variable Target.Value & pour obtenir le bon message dans la Box, mais je n'en suis pas sûr. Idéalement, chaque macro devrait se lancer l'une après l'autre...
Bien des questions, plein de flou =/ J'ai googlé/duckducké un peu partout, mais je ne trouve pas de code qui puisse m'aider directement ; et mes limites ne me permettent pas de "merger" ces bouts de codes avec ce que j'ai déjà.
Je vous remercie d'avance pour toute aide que vous pourriez m'apporter !
voici un code que je fais tourner sur un fichier que nous utilisons au travail ; ce qu'il fait est d'aller checker le contenu d'un dossier dès qu'on entre une valeur dans une cellule d'une colonne entière : s'il y a correspondance, une MsgBox nous propose d'ouvrir le fichier idoine.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim searchFolder As String, fileName As String
Static PowerPointApp As Object
searchFolder = "C:\Users\crolles300 oper\STMicroelectronics\C300 Lithography Module - Derogations STARLight"
If Right(searchFolder, 1) <> "\" Then searchFolder = searchFolder & "\"
If Target.Column = 2 Then
If Target.CountLarge > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
fileName = Dir(searchFolder & "*" & Target.Value & "*.ppt*")
If fileName <> vbNullString Then
If MsgBox(fileName & " existe. Voulez-vous l'ouvrir ?", vbYesNo + vbQuestion, "Fiche de dérogation") = vbYes Then
If PowerPointApp Is Nothing Then Set PowerPointApp = CreateObject("PowerPoint.Application")
PowerPointApp.Presentations.Open searchFolder & fileName
End If
End If
End If
End Sub
Cela a demandé pas mal de travail, d'erreurs, et d'aide : mes connaissances en code/VBA sont fortement limitées. Mais là, mes maigres "skills" ne me suffisent plus ^^' J'aurais besoin de faire un second check à partir de la même valeur rentrée dans la cellule :
=> check le contenu de la cellule dans la Feuille 1 vers une colonne de la Feuille 2
=> s'il y a une correspondance, une MsgBox devrait afficher le contenu de la cellule +1 (offset) de la Feuille 2
Je suppose que je dois jouer avec la variable Target.Value & pour obtenir le bon message dans la Box, mais je n'en suis pas sûr. Idéalement, chaque macro devrait se lancer l'une après l'autre...
Bien des questions, plein de flou =/ J'ai googlé/duckducké un peu partout, mais je ne trouve pas de code qui puisse m'aider directement ; et mes limites ne me permettent pas de "merger" ces bouts de codes avec ce que j'ai déjà.
Je vous remercie d'avance pour toute aide que vous pourriez m'apporter !