Re : Sélection à l'aide de la souris
Bonjour Excel_lent
Voici un fichier abréger sans les deux formules sinon le fichier est trop lourd
A l'heure actuel ce qui fonctionne
Premièrement lors que je sélectionne a l'aide de la souris sur la feuille Teinture $924,00
cela transfert sur la feuille soumission en a29 Pré Vernis en b 29 Chambres et
en j29 $924.00 si je fait une autre sélection toujours sur la feuille teinture
exemple $2000,00 cela transfert sur la feuille soumission en a30 prévernis
b30 escalier et en j30 $2000,00
La sélection a passer à la ligne suivante sur soumission automatiquement
Cela fontionne pour toutes les feuilles
Le problème est que lorsque je change de feuille exemple céramique et que je sélectionne dans celle-ci cela écrase la sélection précédente celle dans teinture
la sélection devrait passer à la ligne suivante lors que la ligne précédente est occupé.
Aussi lors que je sélectionne dans devis qui comprend l'autre macro qui elle est lancer par un bouton cela aussi va ecraser les sélection précédente
voici les deux macros utiliées
macros pour les feuilles teinture, ceramique et les autres
Dim fin As Integer, plage As Range, cellule As Range, i As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
fin = Range("F65536").End(xlUp).Row
Set plage = Range("A2:Q" & fin)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, plage) Is Nothing Then
For Each cellule In plage
If Target = cellule Then
With Sheets("Soumission")
If .Range("A29") = "" Then i = 0 Else i = i + 1
.Range("A29").Offset(i, 0) = "Pré Vernis"
.Range("B29").Offset(i, 0) = Cells(5, Target.Column)
.Range("J29").Offset(i, 0) = Target.Value
Exit Sub
End With
End If
Next
End If
End Sub
macros utilisées dans devis
Option Explicit
Public Sub Devis()
Dim Plg As Variant, L As Integer, Li As Integer
With Worksheets("Devis")
Plg = .Range("B14:K" & .Range("B65536").End(xlUp).Row)
End With
With Worksheets("Soumission")
.Range("A29:A57").ClearContents
.Range("J29:J57").ClearContents
Li = 29
For L = 1 To UBound(Plg, 1)
If Plg(L, 2) <> "" Or Plg(L, 5) <> "" Or Plg(L, 6) <> "" Then
.Range("A" & Li) = Plg(L, 1)
.Range("J" & Li) = Plg(L, 10)
Li = Li + 1
End If
Next L
End With
End Sub
Private Sub CommandButton1_Click()
Devis
End Sub
Espérant que cela pourras vous aider
Rened