Bonjour
Dans un précèdent message
une dernière question : quelle serait la modification à apporter dans le code si la feuill1 s'appelle offre client 1 et la feuille 2 s'appelle coutants offre 1
Et maintenant les pages s'appellent offre client 1 et coutants client 1
Pour cela que cela ne fonctionne pas
Alors dans le code modifies la ligne suivante
With Sheets("coutants offre " & Num)
par
With Sheets("coutants client " & Num)
je transmets le code complet
Option Explicit
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Cel As Range
Dim Rech As String
Dim Num As Integer
With Sh
If Left(.Name, 12) = "offre client" Then
Num = Val(Mid(.Name, 14))
If Not Intersect(.Range("B31:B" & .Range("B31").End(xlDown).Row), Target) Is Nothing Then ' De B5 jusqu'au bas du tableau
Cancel = True
Application.ScreenUpdating = False ' Masque l'affichage à l'écran
Rech = .Range("B" & Target.Row) & .Range("C" & Target.Row) & .Range("D" & Target.Row) ' Construit ce que l'on va rechercher
With Sheets("coutants client " & Num)
.Columns("A").Insert ' Une colonne inserée
With .Range("A5:A" & .Range("B5").End(xlDown).Row) ' De A5 jusqu'au bas du tableau
.Formula = "=RC[2]&RC[1]&RC[3]" ' Fabrique la zone de recherche
.Value = .Value ' Sans les formules
Set Cel = .Find(what:=Rech, LookIn:=xlValues, lookat:=xlWhole) ' On cherche
End With
If Not Cel Is Nothing Then ' Si on trouve
.Rows(Cel.Row).Hidden = True ' On masque la ligne dans cette page
Rows(Target.Row).Hidden = True ' Et on masque la ligne de la page précédente
End If
.Columns("A").Delete ' On supprime la colonne crée
End With
End If
End If
End With
End Sub
Bonne journée