XL 2016 Incompatibilité de type entre Listenom et la première ligne de code

dg62

XLDnaute Barbatruc
[QUOTE="donc ce que je veux faire avec mon code est en cliquant sur n'importe qu'elle feuille du classeur, s'il y a une information qui se trouve dans la première colonne de ma feuille 4, il doit m'extraire cette ou ces lignes et me l'afficher dans une nouvelle feuille.
[/QUOTE]
Bonjour,
cliquer sur n'importe qu'elle feuille et tester la feuille 4 bizarre non ?
 

fanch55

XLDnaute Barbatruc
J'essaye de traduire d'après votre classeur et votre dernière explication :

En cliquant droit sur n'importe quelle ligne de la feuille "Programme Initial" :
pour toutes les cellules renseignées en colonne 1 de la feuille "Tableau à Extraire",
on va produire une feuille avec toutes les cellules de la ligne concernée ?

C'est à dire qu'au moindre clic droit sur la feuille "Programme Initial" , on pourrait créer près de 100 feuilles qui s'additionneraient à celles déjà produites ?

Je ne pense pas que ce soit exactement ce que vous voulez faire ....
 

fanch55

XLDnaute Barbatruc
Donc le fait de faire un clic droit n'importe où sur la feuille "Programme initial" n'a aucune relation ni incidence avec l'opération à effectuer ?
Pourquoi certains produits dans le tableau ont 2 lignes avec des temps de fabrication potentiellement différents ?
 

fanch55

XLDnaute Barbatruc
Pourquoi ne pas avoir mis une colonne sup pour "distinguer" les 2 méthodes de fabrication ?
Je demande car le type de recherche et d'extraction est différent selon le type des cellules (fusionnées ou non ) .

Donc en fait, ce n'est pas la liste de tous les produits présents dans "tableau à extraire", mais celui correspondant au produit cliqué sur la feuille "Programme initial" ( et je suppose s'il n'est pas déjà présent dans la liste ? ) .

Cependant, je vois dans le fichier des produits "AB 256" et "AM 256", c'est AB et AM les noms des produits ?

C'est plutôt flou ...
 

dg62

XLDnaute Barbatruc
Une modification du code pour exclure certaines colonnes
VB:
Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Dim colE As Range
Dim colG As Range
Dim colI As Range
Dim colK As Range
Dim colM As Range
Dim plage As Range
Dim ref As String
Dim c As Range


Set colE = Application.union(Range("E15"), Range("E20"), Range("E25"), Range("E30"), Range("E35"), Range("E40"), Range("E45"), Range("E50"), Range("E55"), Range("E60"))
Set colG = Application.union(Range("G15"), Range("G20"), Range("G25"), Range("G30"), Range("G35"), Range("G40"), Range("G45"), Range("G50"), Range("G55"), Range("G60"))
Set colI = Application.union(Range("I15"), Range("I20"), Range("I25"), Range("I30"), Range("I35"), Range("I40"), Range("I45"), Range("I50"), Range("I55"), Range("I60"))
Set colK = Application.union(Range("K15"), Range("K20"), Range("K25"), Range("K30"), Range("K35"), Range("K40"), Range("K45"), Range("K50"), Range("K55"), Range("K60"))
Set colM = Application.union(Range("M15"), Range("M20"), Range("M25"), Range("M30"), Range("M35"), Range("M40"), Range("M45"), Range("M50"), Range("M55"), Range("M60"))
Set plage = Application.union(colE, colG, colI, colK, colM)

If Not Intersect(Target, plage) Is Nothing Then
    If Target > "" Then
       ref = Target.Value
    Else
        MsgBox "Référence incorrecte"
        Exit Sub
    End If
  
With Worksheets("Feuil1").Range("A1:A15") ' problème avec feuille 4, zone restreinte pour le test
    Set c = .Find(ref, LookIn:=xlValues)
    If Not c Is Nothing Then
     MsgBox " Cellule " & c.Address & " de la feuille 1" ' votre code copie de ligne à insérer ici
     Else
     MsgBox "Référence inexistante"
    End If
End With
    Else
    ' a définir
    End If
End Sub
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
261

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87