Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie les cellules seulement si c'est complété

  • Initiateur de la discussion Initiateur de la discussion Lili77
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lili77

XLDnaute Nouveau
Bonjour à tous,

Je suis nouvelle dans ce forum et je sollicite de votre part une aide afin d'adapter un code vba existant.

Ce code me permet de copier des cellules vers une autre feuille à condition que la donnée RM soit choisie.

Toutefois, j'aimerais également qu'il m'interdise de copier les données si certaines d'entres elles sont vides et qu'il me le signale via MsgBox.

C'est vraiment urgent. Est-ce qu'il y a une bonne âme qui pourrait m'aider ??

Par avance, je vous remercie de l'intérêt que vous porterez à ma demande

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim Cel As Range
    Dim derLig As Long
    Dim lignVide As Long
    Dim V1
    Dim V2
    Dim V3
    Dim V4
    Dim V5
    Dim V6
    
 
    If Target.Column <> 12 Then Exit Sub

 
    derLig = Range("A" & Rows.Count).End(xlUp).Row
 
    If Target.Row <> derLig Then Exit Sub

 
    If Target.Value = "RM" Then
    
            'il y a 6 valeurs à transférer
        V1 = Me.Cells(derLig, 1): V2 = Me.Cells(derLig, 2): V3 = Me.Cells(derLig, 4)
        V4 = Me.Cells(derLig, 8): V5 = Me.Cells(derLig, 9): V6 = Me.Cells(derLig, 11)
 
        'Ouvrir la feuill GM
        With Worksheets("GM")
 
            Set Cel = .Columns(1).Find(Me.Cells(derLig, 1), , xlValues, xlWhole)
 
            If Cel Is Nothing Then
            Sheets("GM").Activate
 
               .Unprotect Password:="XENNA"
 
               'Recherche de la première ligne vide
               lignVide = .Range("A" & .Rows.Count).End(xlUp).Row + 1
 
               'Copie des valeurs dans la feuille "GM"
               .Cells(lignVide, 1) = V1
               .Cells(lignVide, 2) = V3
               .Cells(lignVide, 4) = V6
               .Cells(lignVide, 5) = V2
               .Cells(lignVide, 8) = V4
               .Cells(lignVide, 9) = V5
 
               .Protect Password:="XENNA"
 
            Else
  
                MsgBox "Enregistrement déjà existant dans la base de données !"
 
            End If
 
        End With
 
    End If
 
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
237
Réponses
3
Affichages
508
Réponses
4
Affichages
177
Réponses
2
Affichages
202
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…