Message erreur : Objet requis userform

Résolu/Fermé
julien - 12 févr. 2016 à 14:56
 julien - 15 févr. 2016 à 08:30
Bonjour,

Après avoir regardé de nombreux forums et testé différentes solutions je suis entrain de baisser les bras ^^

Ci - joint mon code macro ==> http://www.cjoint.com/c/FBmn1pMuExp

J'aimerais lorsqu'un utilisateur ferme la fenétre ( par la croix ou le bouton annuler ) l'opération s'éxécute , actuellement lorque l'on appuie sur croix ou annuler un message d'erreur apparait : " Objet requis "

Merci de votre aide

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
12 févr. 2016 à 17:00
Bonjour,

Classeur sans UserForm ??????????????????,

code dans un module ????????????????????

ai apporte quelques modif quand meme
Sub Selection_des_données()

    Dim Cellules As Range           ' Déclaration de la variable Cellules
    Dim Rep As Integer                ' Déclaration de la variable Rep
    Dim Rep2 As Integer              ' Déclaration de la variable Rep
 
    i = 2
    On Error Resume Next
    Set Cellules = Application.InputBox(prompt:=" Cliquez sur le (ou les) numeros des lignes à conserver ( Maintenir CTRL) ", Type:=8)     ' Questionnement sur lignes à conserver
    If Err.Number <> 0 Then
        MsgBox "Selection annulee"
        Exit Sub
    End If
    On Error GoTo 0
    Application.ScreenUpdating = False          ' Désactivation de l'actualisation de l'écran pour exécution plus rapide
    
    ' Vérification de présence de données pour sélectionner la
    With Sheets("Sélection_données")          ' Sur la feuille 3
        PCV = .Range("A" & Rows.Count).End(xlUp).Row + 1        'premiere cellules vide colonne A
        If PCV < 2 Then PCV = 2     ' Si la variable est inférieure à 2 elle prend la valeur 2
        Cellules.Copy .Cells(PCV, 1)    ' Copie de lignes
    End With        ' Fin du test
    
    Sheets("Données_triées").Select           ' Sélection de la feuille 2
    Rep = MsgBox("Voulez-vous conserver d'autres lignes ?", vbYesNo + vbQuestion, "mDF XLpages.com")        ' Message pour savoir si il y a d'autres lignes a sélectionner
    If Rep = vbNo Then
        Sheets("Sélection_données").Select            ' Sélection de la feuille 2
        Columns.HorizontalAlignment = xlCenter          ' Centrer toutes les colonnes
    Else
        Rep2 = MsgBox(" Pour ce moteur ?", vbYesNo + vbQuestion, "mDF XLpages.com")
        If Rep2 = vbYes Then
            On Error Resume Next
            Set Cellules = Application.InputBox(prompt:=" Cliquez sur le numero des lignes à conserver ", Type:=8)     ' Réitération de la question de selection de ligne
            If Err.Number <> 0 Then
                MsgBox "Selection annulee"
                Exit Sub
            End If
            On Error GoTo 0
            Application.ScreenUpdating = False          ' Désactivation de l'actualisation de l'écran pour exécution plus rapide
            With Sheets("Sélection_données")          ' Sur la feuille 3
                PCV = .Range("A" & Rows.Count).End(xlUp).Row + 1        'premiere cellules vide colonne A
                If PCV < 2 Then PCV = 2     ' Si la variable est inférieure à 2 elle prend la valeur 2
                Cellules.Copy .Cells(PCV, 1)    'copie de lignes
            End With
        End If
    End If           ' Fin de la boucle
End Sub
0
WAouuuuh , vraiment rapide et efficace tu as déjà résolue ma question :) Merci beaucoup , à bientôt !!!!!
0