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

Erreur 1004 en copiant dans la première cellule vide d' une colonne [RESOLU]

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

elvioc

XLDnaute Nouveau
Bonjour à tous.

Je fais appel à votre aide car je bloque depuis ce matin sur un problème dans ma macro.
J' avoue certains vont trouver que c' est codé avec mes pieds, mais je débute, et pour le moment c' est plus de l' assemblage de bouts de code qu' autre chose... J' essaye d' assimiler au fur et à mesure.

Dans mon cas, je souhaite que :
_ l' utilisateur réponde par "oui" ou "non" à une question
_ qu' en fonction de cela, une cellule soit copiée depuis la page "question" et collés sur la page "analyse" dans la 1ère cellule "non-vide" sous "A13"
(jusque là tout marche)

_ toujours en fonction de la réponse, une autre cellule soit copiée depuis la page "question" et collés sur la page "analyse" dans la 1ère cellule "non-vide" sous "D13"
Et là, ça ne marche pas, je comprends pas pourquoi ça fonctionne pour la 1ère et pas la seconde fois...

Merci d' avance pour vos lumières !!!

Voici mon code, avec en rouge l' endroit de l'erreur :

Sub Q2()

If MsgBox("Le client est il mineur ?", vbQuestion + vbYesNo, "Type de dossier") = vbYes Then
Application.Goto (ActiveWorkbook.Sheets("Questions").Range("C6"))
Selection.Copy
Sheets("Analyse").Select
Cells(ActiveSheet.Cells(13, 1).End(xlDown).Row + 1, 1).Select
ActiveSheet.Paste

Application.Goto (ActiveWorkbook.Sheets("Questions").Range("G7"))
Selection.Copy
Sheets("Analyse").Select
Cells(ActiveSheet.Cells(13, 4).End(xlDown).Row + 1, 1).Select
ActiveSheet.Paste

Call Q3

Else
Application.Goto (ActiveWorkbook.Sheets("Questions").Range("D6"))
Selection.Copy
Sheets("Analyse").Select
Cells(ActiveSheet.Cells(13, 1).End(xlDown).Row + 1, 1).Select
ActiveSheet.Paste

Application.Goto (ActiveWorkbook.Sheets("Questions").Range("G5"))
Selection.Copy
Sheets("Analyse").Select
Cells(ActiveSheet.Cells(13, 4).End(xlDown).Row + 1, 1).Select
ActiveSheet.Paste

Call Q5

End If

End Sub
 
Dernière édition:
Re : Erreur 1004 en copiant dans la première cellule vide d' une colonne

Bonjour,

La ligne :
Code:
Cells(ActiveSheet.Cells(13, 4).End(xlDown).Row + 1, 1).Select
doit être (sur la colonne D, 4ème) :
Code:
Cells(ActiveSheet.Cells(13, 4).End(xlDown).Row + 1, 4).Select
mais évite autant que possible les Select, GoTo et Activate. Teste avec ce qui suit :
Code:
Sub Q2()

    If MsgBox("Le client est il mineur ?", vbQuestion + vbYesNo, "Type de dossier") = vbYes Then
    
        With Sheets("Analyse")
        
            .Cells(.Cells(13, 1).End(xlDown).Row + 1, 1) = Worksheets("Questions").Range("C6").Value
            .Cells(.Cells(13, 4).End(xlDown).Row + 1, 4) = Worksheets("Questions").Range("G7").Value
            
        End With
    
        Call Q3
    
    Else

        With Sheets("Analyse")
        
            .Cells(.Cells(13, 1).End(xlDown).Row + 1, 1) = Worksheets("Questions").Range("D6").Value
            .Cells(.Cells(13, 4).End(xlDown).Row + 1, 4) = Worksheets("Questions").Range("G5").Value
            
        End With
        
        Call Q5
    
    End If

End Sub

Hervé.
 
Re : Erreur 1004 en copiant dans la première cellule vide d' une colonne

Bonjour Hervé

Merci pour ce début de réponse et 1ère correction !

J ai toujours une erreur 1004 Erreur définie par l' application ou par l' objet.
Et la ligne concernée est celle-ci :

.Cells(.Cells(13, 4).End(xlDown).Row + 1, 4) = Worksheets("Questions").Range("G7").Value

Je ne comprends vraiment pas pourquoi il fonctionne pour la colonne A et pas pour la D
 
Re : Erreur 1004 en copiant dans la première cellule vide d' une colonne

Watch : : .Cells(.Cells(13, 4).End(xlDown).Row + 1, 4) = Worksheets("Questions").Range("G7").Value : <Expression non définie dans le contexte> : Empty : Q02Age.Q2

Voilà ce que j obtiens après avoir lancer le débuggage.

C' est bien celà que tu voulais ?
 
Re : Erreur 1004 en copiant dans la première cellule vide d' une colonne

Bonjour,

Je pense qu'il n'y a, pour le moment, aucune donnée en colonne A et/ou D de la feuille "Analyse" d'où l'erreur car il ne trouve pas la dernière cellule non vide.

Hervé
 
Re : Erreur 1004 en copiant dans la première cellule vide d' une colonne

Bonjour

Problème résolu !

En remplaçant :
Application.Goto (ActiveWorkbook.Sheets("Questions").Range("G7"))
Selection.Copy
Sheets("Analyse").Select
Cells(ActiveSheet.Cells(13, 4).End(xlDown).Row + 1, 1).Select
ActiveSheet.Paste

par :
Sheets("Questions").Range("G7").Copy Sheets("Analyse").Range("D" & Sheets("Analyse").Range("D" & Rows.Count).End(xlUp).Row + 1)

Merci de votre aide 🙂
 
- 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
10
Affichages
547
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
483
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…