Copier / Coller VBA

Anonyme
2022-07-28T13:35:31+00:00

Bonjour,

    If Not Intersect(target, [B16:I17]) Is Nothing Then

        If target = "" Then

            UF_Coller.Show

        Else

            UF_Supprimer.Show

        End If

    End If

Avec ce code, si je clique dans la cellule B16 par exemple et que celle-ci est vide, apparait le UserForm UF_Coller pour me demander si je veux coller une valeur copiée. Cela fonctionne. Le problème est que UF_Coller apparait même si je n’ai rien à copier. C’est normal.

Ma question est : est-il possible d’identifier si une valeur a été copiée pour marquer dans ma condition : If target = "" and si valeur copiée = "" Then ?

Merci pour votre aide. Cordialement

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

DanielCo 107.7K Points de réputation
2022-07-30T14:57:34+00:00

Les deux commandes sont équivalentes. Il n'y a aucune différence.

Daniel

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

DanielCo 107.7K Points de réputation
2022-07-28T16:40:08+00:00

J'ai aussi laissé "variant", vu qu'on peut copier n'importe quoi.

Daniel

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

11 réponses supplémentaires

  1. Anonyme
    2022-07-29T13:44:09+00:00

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. DanielCo 107.7K Points de réputation
    2022-07-29T13:16:00+00:00

    Bonjour,

    Ca vient peu-être du code de l'userform copier ? Estc-e que tu peux partager le classeur ?

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2022-07-29T12:33:27+00:00

    Bonjour,

    je reviens vers toi car il y a un petit souci. Voici le code que j'ai rentré :

    Private Sub Worksheet_SelectionChange(ByVal target As Range)
    On Error Resume Next

    Dim TextClip, clipo As Variant
    Set clipo = CreateObject("htmlfile")
    TextClip = clipo.parentwindow.clipboardData.GetData("Text")

    If Not Intersect(target, [B7:I13]) Is Nothing Then  
        If target <> "" Then  
            UF\_Copier.Show  
        End If  
    End If  
    
    If Not Intersect(target, [B16:I17]) Is Nothing Then  
        If target = "" And TextClip = 1 Then  
            Range("A1").Select  
        ElseIf target = "" And TextClip <> "" Then  
            UF\_Coller.Show  
        End If  
    End If  
    

    End Sub

    Dans la ligne : If target = "" And TextClip = 1 Then, si je mets = "" cela ne fonctionne pas.

    Cela ne me dérange pas de mettre 1 mais si tu peux m'expliquer, je suis preneur.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire