Demande correctif code vba
Bonjour,
Le code vba est nouveau pour moi.
J'ai déjà réussi à créer des dossiers dans un répertoire avec les données inscrites dans la colonne c de mon tableau et de créer automatiquement le lien hypertexte ad hoc.
maintenant je souhaiterais qu'à chaque modifications de valeur dans la colonne c, le dossier créé change aussi de nom et que le lien hypertexte soit toujours là.
J'ai ce code, mais visiblement il y a un problème : est-ce que quelqu'un peut m'aider ?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim cell As Range
Dim folderPath As String
Dim hyperlinkAddress As String
' Spécifiez la plage de la colonne où se trouvent les valeurs
Set rng = Range("C2:C")
' Spécifiez le chemin du répertoire où les dossiers sont créés
folderPath = "C:\Users\sabine.luesma\Desktop\test dpec\"
' Vérifiez si la modification a été apportée dans la plage spécifiée
If Not Intersect(Target, rng) Is Nothing Then
' Parcourez chaque cellule modifiée
For Each cell In Intersect(Target, rng)
' Vérifiez si la cellule n'est pas vide
If cell.Value <> "" Then
' Mettez à jour le nom du dossier avec la nouvelle valeur de la cellule
Name folderPath & cell.Value As folderPath & cell.Value2
' Mettez à jour l'adresse du lien hypertexte avec le nouveau nom de dossier
hyperlinkAddress = folderPath & cell.Value2 & "\"
cell.Hyperlinks.Add Anchor:=cell, Address:=hyperlinkAddress, TextToDisplay:=cell.Value
End If
Next cell
End If
End Sub
Le problème se situerait ici : Name folderPath & cell.Value As folderPath & cell.Value2
Merci
Demande d'explication et erreur
Citation:
Envoyé par
Philippe Tulliez
Bonjour,
Soyez plus précis. Quel problème, une erreur, le résultat attendu ne répond pas à vos attentes ?
Je voudrais tout de même vous préciser que la ligne Set rng = Range("C2:C") renvoie une erreur
Bonjour,
Je n'avais pas repéré pour Range, merci : je suppose que je dois noter la dernière case de la colonne de mon tableau (C2:C20) par exemple.
Pour l'autre ligne qui pose problème, c'est juste quand j'essaie de lancer le code, un débogage se fait à cette ligne et je ne comprends pas comment régler le problème.
J'essaie de comprendre le vba mais je n'en suis encore qu'au tout début. Malheureusement j'ai besoin de faire ce travail assez rapidement.
Si vous pouviez m'expliquer en quoi pourrait consister mon erreur, j'aurais une direction pour chercher.
Merci.