Extraire donnée tableau filtré
Bonjour à tous,
Mon premier sujet sur le forum!! Je me suis inscrit car c'est toujours ici que j'ai trouvé réponse à mes questions concernant Excel.
Je suis novice, et j'espère que vous pourrez m'aider.
Mon problème:
- Je dispose d'une base de donnée qui pourra s’étendre jusqu'a 800/1000 lignes
- J'ai mis en place un filtre élaboré pour diminuer les ligne en fonction des besoins des utilisateurs
- une fois l'article trouvé, je voudrait après avoir coché une case, copier cette ligne vers un autre onglet
- en cas de recherche de plusieurs article copier les lignes coché a la suite de celles déja collé
J'espère avoir été clair dans l'explication de ce que je cherche à faire? Maintenant mes problèmes:
- J'ai ajouté la macro suivante pour cocher les lignes que l'on souhaite copier, mais même s'il n'y a rien dans la ligne, la croix se met
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
temp = Array("X", "")
If Not Application.Intersect(Target, Range("I2:I1000")) Is Nothing Then
With Target
p = Application.Match(Target, temp, 0)
If Not IsError(p) Then
If p = UBound(temp) + 1 Then p = 0
Else
p = 0
End If
Target = temp(p)
Cancel = True
End With
End If
End Sub- Je n'arrive tout simplement pas a trouver comment copier ces lignes dans un onglet devis, et de pouvoir en ajouter a la suite.
Je sais que ça beaucoup de questions, mais cela fait maintenant 2 semaines que je suis sur le sujet et que je fais du surplace..
En pièce jointe mon fichier.
Merci de votre aide
Bonjour,
Concernant ta Colonne I et ta macro évènementielle ...
Tu peux tester le code suivant :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Application.Intersect(Target, Range("I11:I1000")) Is Nothing Then Exit Sub
If Cells(Target.Row, 1) <> "" And Target = "" Then Target = "X" Else Target = ""
Cancel = True
End SubEn ce qui concerne la copie ...peux-tu expliquer quelles sont les données à copier ... et leur destination ...
Merci beaucoup pour ton aide, ca fonctionne parfaitement.
Concernant les données à copier, ca correspond au cellules a gauche de la case cochée, la destination est la feuille Devis à partir de la cellule A10 par exemple.
La complexité:
- Un bouton dans l'onglet recherche qui enverrais les lignes cochées
- En cas de nouvelle recherche, les lignes s'ajouteraient en dessous de celles déjà copié dans la feuille Devis
Bonjour,
Concernant ta Colonne I et ta macro évènementielle ...
Tu peux tester le code suivant :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Application.Intersect(Target, Range("I11:I1000")) Is Nothing Then Exit Sub If Cells(Target.Row, 1) <> "" And Target = "" Then Target = "X" Else Target = "" Cancel = True End SubEn ce qui concerne la copie ...peux-tu expliquer quelles sont les données à copier ... et leur destination ...
J'aurais encore une question para rapport à ce que m'a proposé James007, lorsque j'essaye d'appliquer son code à 2 colonnes, Excel me met un message : erreur de compilation, nom ambigu détécté Worksheet_beforeDoubleClick
Je ne comprends pas ce que j'ai fait de faux?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Application.Intersect(Target, Range("N11:N1000")) Is Nothing Then Exit Sub
If Cells(Target.Row, 8) <> "" And Target = "" Then Target = "x" Else Target = ""
Cancel = True
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Application.Intersect(Target, Range("V11:V1000")) Is Nothing Then Exit Sub
If Cells(Target.Row, 16) <> "" And Target = "" Then Target = "x" Else Target = ""
Cancel = True
End SubJe souhaite cocher des cellules de différentes colonnes sous condition, est-ce faut la façon dont je l'ai écrit?
Merci pour vos réponses
Bonjour,
tu ne peux pas avoir 2 fois un doubleclic dans le même module
P.
Merci pour la réponse.
Ya t-il un moyen d"écrire cela autrement pour que cela fonctionne?