Problème avec macro trouver la dernière ligne vide
Résolu
bassmart
Messages postés
281
Date d'inscription
Statut
Membre
Dernière intervention
-
bassmart Messages postés 281 Date d'inscription Statut Membre Dernière intervention -
bassmart Messages postés 281 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai une macro pour insérer des valeurs dans mon tableau dans la colonne E (cellule E5) à partir de 2 InputBox qui servent à déterminer la première et dernière valeur.
Tous marchais très bien lorsque j'avais déjà des valeurs dans le tableau, mais quand il est vide, ça ne fonctionne pas. J'ai placé un espion pour connaître le résultats certaines valeurs de la macro et pour le résultat de dlig (dernière ligne) et le résultat est 1048577 et j'ai une erreur d'exécution 1004, "la méthode range de l'obget_global à échoué".
Voici mon code:
Qu'est-ce qui se passe?
Besoin d'aide!
Merci!
J'ai une macro pour insérer des valeurs dans mon tableau dans la colonne E (cellule E5) à partir de 2 InputBox qui servent à déterminer la première et dernière valeur.
Tous marchais très bien lorsque j'avais déjà des valeurs dans le tableau, mais quand il est vide, ça ne fonctionne pas. J'ai placé un espion pour connaître le résultats certaines valeurs de la macro et pour le résultat de dlig (dernière ligne) et le résultat est 1048577 et j'ai une erreur d'exécution 1004, "la méthode range de l'obget_global à échoué".
Voici mon code:
Sub ajoutSondage() Dim ligne As Long Dim nbrlig As Integer Dim incr As Integer Dim dlig As Long, premier As Long, dernier As Long Application.ScreenUpdating = False dlig = Range("E4").End(xlDown).Row + 1 premier = Application.InputBox("Numéro du premier sondage?", "DÉBUT", Type:=1) If premier = 0 Then MsgBox "Abandon utilisateur", vbExclamation Exit Sub End If dernier = Application.InputBox("Numéro du dernier sondage?", "FIN", Type:=1) If dernier = 0 Then MsgBox "Abandon utilisateur", vbExclamation Exit Sub End If nbrlig = dernier - premier - 1 incr = 1 If dernier < premier Then MsgBox "Décrémentation impossible", vbExclamation Exit Sub Else Range("E" & dlig) = premier dlig = dlig + 1 For ligne = dlig To dlig + nbrlig Range("E" & ligne) = Range("E" & ligne - 1) + incr Next End If Application.ScreenUpdating = True End Sub
Qu'est-ce qui se passe?
Besoin d'aide!
Merci!
A voir également:
- 1048577
- Trouver adresse mac - Guide
- Supprimer dernière page word - Guide
- Partager photos en ligne - Guide
- Dernière version chrome - Accueil - Applications & Logiciels
- Aller à la ligne excel - Guide
3 réponses
Bonjour Bassmart, bonjour le forum,
Peut-être comme ça (en partant d'en bas et en remontant) :
Peut-être comme ça (en partant d'en bas et en remontant) :
dlig = Cells(Application.Rows.Count, 5).End(xlUp).Rows + 1
Tu as une erreur d'exécution parce que tu essaies d'écrire après la dernière ligne de la feuille (ligne n° 1048577 ).
Essaie : dlig = Columns("E").SpecialCells(xlCellTypeLastCell).Row + 1, pour récupérer la première ligne disponible.
--
Essaie : dlig = Columns("E").SpecialCells(xlCellTypeLastCell).Row + 1, pour récupérer la première ligne disponible.
--
Mais j'ai une erreur d'exécution 13, Incompatibilité de type avec cette ligne!