Codage vba pour copie des lignes vers un feuillet

Mathinter

XLDnaute Nouveau
Bonjour

Je travail sur un fichier qui permettrai d'automatiser la création d'un devis en fonction d'un feuillet chiffrage.

J'ai des soucis pour copier les lignes du feuillet A dans le feuillet B à un endroit précis et surtout toujours les unes en dessous des autres.

Aussi j'aimerai créer dans sur chaque ligne un commande "si cette case est cochée" alors effectuer la copier vers feuillet B (voir a fabriquer une fonction qui me crée une case a cocher sur chaque ligne ou j'écris quelque chose)

peut on faire en sorte que le fichier s'actualise tout le temps?
est il possible de verrouiller certaine cellules du feuillet B pour qu'elle ne puissent pas modifiées? ou alors verrouiller la mise en page?

Autre chose plus complexe au cas ou je rajouterais une ligne dans mon feuillet 1 et que je valide la copie, j'aimerais que la copie s’insère bien entre les anciennes lignes et non pas à la suite.

Voila je vous joins mon fichier, vous comprendrez bien plus facilement comme ça.
Ps j'ai masquer des colonnes dons mon feuillet devis car je ne souhaite pas qu'a la création du devis elles apparaissent.

Merci pour votre future aide.
 

Pièces jointes

  • devisauto.xlsm
    57.8 KB · Affichages: 51
  • devisauto.xlsm
    57.8 KB · Affichages: 47
  • devisauto.xlsm
    57.8 KB · Affichages: 48
Dernière édition:

Mathinter

XLDnaute Nouveau
Re : Codage vba pour copie des lignes vers un feuillet

Bonjour
Je suis toujours sur mon fichier, en attendant vos réponses j'ai continué à chercher un peu et bidouiller quelque truc mais en vain.

Voila une partie de mon code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 11 And Target.Text = "COPY" Then
Range(Cells(Target.Row, 1), Cells(Target.Row, 10)).Copy _
Sheets("DEVIS").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
End Sub

le problème est que la copie se fait toujours sur la même ligne du feuillet DEVIS. Or j'aimerais que les lignes à copier se collent les une sous les autres.

je ne comprend pas la commande "offset....." qui je suppose est mon problème.

En attendant que vous vous penchiez sur mon cas.
Cordialement
 

Mathinter

XLDnaute Nouveau
Re : Codage vba pour copie des lignes vers un feuillet

je joins à nouveau mon fichier excel.

cette fois ci j'ai essayer avec ce code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim DerliA As Integer
If Target.Column = 1 And Target.Text = "X" Then
With Sheets("DEVIS")
DerliA = .Range("A65536").End(xlUp).Row + 1
Range(Cells(Target.Row, 2), Cells(Target.Row, 10)).Copy .Range("A" & DerliA)
End With
End If
End Sub


Mais j'ai toujours le même problème le collage des cellules se fait toujours sur la même ligne dans mon feuillet DEVIS
 

Pièces jointes

  • devisauto.xlsm
    59.1 KB · Affichages: 35
  • devisauto.xlsm
    59.1 KB · Affichages: 37
  • devisauto.xlsm
    59.1 KB · Affichages: 40

Discussions similaires

Réponses
18
Affichages
811

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22