ok sur votre bureau vous créer un dossier nommé "test"
ensuite vous entrez dans la macro et sur ma feuille 2( feuille informatisé )il y a ça:
Option Explicit
Private Declare Function SHCreateDirectoryEx Lib "shell32" Alias "SHCreateDirectoryExA" (ByVal hwnd As Long, ByVal pszPath As String, ByVal psa As Any) As Long
Private Const MON_CHEMIN As String = "C:\Users\Desktop\test\'a adapter
Private Cible As String, Cel As Range
Private Sub Worksheet_Activate()
' ici il y a une erreur car Target non spécifié
If Not Intersect(Target, Range("L6:L100")) Is Nothing Then Cible = Target.Value: Set Cel = Target
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("L6:L100")) Is Nothing And _
Union(Target, Range("L6:L100")).Cells.Count = Range("L6:L100").Cells.Count Then
If Target.Value <> "" Then
On Error Resume Next
SHCreateDirectoryEx 0, MON_CHEMIN & Target.Value, ByVal 0&
Application.EnableEvents = False
ActiveSheet.Hyperlinks.Add Anchor:=Cel, Address:=MON_CHEMIN & Target.Value
Application.EnableEvents = True
Else
If Cible <> "" Then
If Dir(MON_CHEMIN & Cible, vbDirectory) <> "" Then
Dim FS
Set FS = CreateObject("Scripting.FileSystemObject")
FS.Deletefolder MON_CHEMIN & Cible
End If
End If
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("b6:b100")) Is Nothing Then
ActiveWindow.Zoom = 100
Else
ActiveWindow.Zoom = 60
End If
On Error Resume Next
If Not Intersect(Target, Range("L6:L100")) Is Nothing And _
Union(Target, Range("L6:L100")).Cells.Count = Range("L6:L100").Cells.Count Then Cible = Target.Value: Set Cel = Target
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim resultat As String
resultat = InputBox("Entrez le numéro de ligne à supprimer", "Suppression ligne") 'La variable reçoit la valeur entrée dans l'InputBox
If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
Cancel = True ' ici on inhibe l'affichage du menu clic droit si on décide d'effacer une ligne
' comme on supprime le ligne nul besoin d'effacer les données avant
' Range("L" & resultat).Select
' Selection.ClearContents
Rows(resultat & ":" & resultat).Select
Selection.Delete Shift:=xlUp
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("E6:H500"), Target) Is Nothing Then
If UCase(Target) = "X" Then Target = "" Else Target = "X"
Cancel = True
End If
End Sub
Et au début vous avez une ligne pour créer le chemin qui est celle ci:
Private Const MON_CHEMIN As String = C:\Users\Desktop\test\'a adapter
La vous changer votre chemin pour accéder au dossier test sur votre bureau
Une fois la manipulation faite quand vous ajouté une ligne dans le tableau automatiquement le numéro 2 apparait et un dossier 2 se créer dans le dossier test
Ensuite quand vous faite clique droit il vous demande quelle ligne vous voulez supprimer. De la vous mettez la ligne correspondante au dossier 2 et normalement la ligne disparait mais aussi le dossier 2 dans le dossier test . Or la le dossier 2 reste et avant l'ajout de l'incrémentation cela marchait .
Il y a t-il un lien? comment le contourner?
Si ce n'est pas possible c'est pas un souci je le ferai manuellement de supprimer le dossier dans le dossier test .
Et je voulais savoir aussi si c'est possible de voir un problème au niveau du clique dans le tableau.
En effet quand le numéro se créer 1,2,3... je suis obliger de double cliquer dans la cellule voulu changer de cellule et revenir dessus pour avoir le pointeur pour cliquer sur le numéro . Il y a t-il une méthode pour que je suis puisse cliquer directe dessus sans a avoir à faire cette manipulation?
Un grand merci d'avance