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

Microsoft 365 activer macro après collage

  • Initiateur de la discussion Initiateur de la discussion pat66
  • 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 !

pat66

XLDnaute Impliqué
Bonjour le forum,

merci pour votre aide,

mon problème est le suivant :

Je souhaite que Feuil1.[D14] s'actualise selon que Feuil1.[D11] soit vide ou rempli grâce au bouton "reset" qui permet de couper ou coller alternativement la valeur initialement saisie dans Feuil1.[D11] , malheureusement je n'y arrive pas.

j'ai même essayé en ajoutant :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$11" Then Feuil1.[D14] = Feuil2.[D17]
End Sub

un grand merci

Pat66
 

Pièces jointes

Dernière édition:
Solution
en supprimant ton code dans l'èvènement _change

VB:
Sub Couper_Collerlot2()
Dim c As Range

    With Worksheets("Feuil1")
        If .Range("AF11").Value = "" And .Range("D11").Value = "" Then
            If MsgBox("Le deuxième lot n'a pas encore été renseigné ! " & vbLf & vbLf & "Souhaitez vous saisir les caractéristiques du deuxième lot ?", vbYesNo + vbInformation, "MB") = vbNo Then Exit Sub
                .Activate
                .Range("D11").Select
                Exit Sub
        End If
        If .Range("D11") <> "" Then
            .Range("D11").Copy Destination:=.Range("D11").Offset(, 28)
            .Range("D11").ClearContents
        Else
            .Range("AF11").Copy Destination:=.Range("AF11").Offset(, -28)...
ca veut dire quoi cette ligne de code dans l'évènement _change de la feuille ?

If Target.Address = "$C$11,$D$11" Then Feuil1.[D14] = Feuil2.[D17]


tu as sans doute remarqué que la condition n'est jamais remplie.. donc.. il n'y a jamais la copie..
question autrement posée: c'est censé faire quoi, à quel moment?
 
en supprimant ton code dans l'èvènement _change

VB:
Sub Couper_Collerlot2()
Dim c As Range

    With Worksheets("Feuil1")
        If .Range("AF11").Value = "" And .Range("D11").Value = "" Then
            If MsgBox("Le deuxième lot n'a pas encore été renseigné ! " & vbLf & vbLf & "Souhaitez vous saisir les caractéristiques du deuxième lot ?", vbYesNo + vbInformation, "MB") = vbNo Then Exit Sub
                .Activate
                .Range("D11").Select
                Exit Sub
        End If
        If .Range("D11") <> "" Then
            .Range("D11").Copy Destination:=.Range("D11").Offset(, 28)
            .Range("D11").ClearContents
        Else
            .Range("AF11").Copy Destination:=.Range("AF11").Offset(, -28)
            .Range("AF11").ClearContents
        End If

        .Range("D14") = IIf(.Range("D11") <> "", Sheets("Feuil2").Range("D17"), "")

    End With
End Sub

bon.. après.. je comprend pas beaucoup mieux l'intérêt de la formule en D17 de ta feuille 2
 
- 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
17
Affichages
2 K
Réponses
4
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…