Bonjour,
Je suis nouveau sur ce forum et étant novice en vba il m'a été d'une grande aide.
Pour le projet que j'ai en tête il faudrait que je puisse sur la feuille 1 copier la dernière ligne du tableau en suppriment le contenu des cellules tout en conservant les données de validations.
Pour ça j'ai trouvé ce code
Cette partie fonctionne.
Pour la suite dans les cellules de la colonne G j'ai inseré une liste déroulante. Je voudrai qu'en fonction de la valeur selectionnée une partie de la ligne soit copiée vers une autre feuille. Pour ça j'utilise ce code:
Indépendement ces deux codes fonctionnent. Mais lorsque je crée une nouvelle ligne j'ai une erreur 13 incompatibilité de type sur la ligne de code "If Target.Value = "Jocelyne" Then".
Je n'arrive pas à débuguer ça.
Pour que cela soit plus compréhensible je vous joins mon fichier
Merci pour votre attention.
Je suis nouveau sur ce forum et étant novice en vba il m'a été d'une grande aide.
Pour le projet que j'ai en tête il faudrait que je puisse sur la feuille 1 copier la dernière ligne du tableau en suppriment le contenu des cellules tout en conservant les données de validations.
Pour ça j'ai trouvé ce code
Code:
Sub Insére_Ligne_Copy_Formule_MFC()
[B65536].End(xlUp).Offset(1).Select
ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row - 1).Copy Rows(ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub
Cette partie fonctionne.
Pour la suite dans les cellules de la colonne G j'ai inseré une liste déroulante. Je voudrai qu'en fonction de la valeur selectionnée une partie de la ligne soit copiée vers une autre feuille. Pour ça j'utilise ce code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G7:G65536")) Is Nothing Then
If Target.Value = "Jocelyne" Then
With Sheets("Jocelyne")
LigVide = .Range("A65536").End(xlUp).Row + 1
.Cells(LigVide, 1) = Target.Offset(0, -6).Value
.Cells(LigVide, 2) = Target.Offset(0, -5).Value
.Cells(LigVide, 3) = Target.Offset(0, -4).Value
.Cells(LigVide, 4) = Target.Offset(0, -3).Value
.Cells(LigVide, 5) = Target.Offset(0, -2).Value
.Cells(LigVide, 6) = Target.Offset(0, -1).Value
End With
End If
End If
Indépendement ces deux codes fonctionnent. Mais lorsque je crée une nouvelle ligne j'ai une erreur 13 incompatibilité de type sur la ligne de code "If Target.Value = "Jocelyne" Then".
Je n'arrive pas à débuguer ça.
Pour que cela soit plus compréhensible je vous joins mon fichier
Merci pour votre attention.
Pièces jointes
Dernière modification par un modérateur: