Inputbox déclaration DIM

Bonjour

Cette première macro nommée Essai1 fonctionne.

Sub essai1()
col = 2
Set LastRow = Cells(rows.Count, col).End(xlUp).Offset(1, 0)
For z = LastRow.Row To 1 Step -1
If Cells(z, col).Value = "" Then Cells(z, col).Delete
Next z
End Sub

Cependant l'utilisation d'un Inputbox pour identifier la colonne ne fonctionne pas en essai2

Sub essai2()
Dim col
col = InputBox("Nº de la conne ? ")
Set LastRow = Cells(rows.Count, col).End(xlUp).Offset(1, 0)
For z = LastRow.Row To 1 Step -1
If Cells(z, col).Value = "" Then Cells(z, col).Delete
Next z
End Sub

L'erreur vient-elle de la déclaration DIM ?

Merci

Bonjour,

1. Lorsque vous postez un code dans votre message veillez à utiliser les balises de code en cliquant sur l'icone </> dans la barre de menu et en collant le code dans la fenêtre.
Pensez aussi à cloturer vos fils, cela permet au répondeur de savoir que vous en avez terminé et que la solution proposée vous convient. Vos fils ouverts --> https://forum.excel-pratique.com/membre/96203

2. Pour votre demande

L'erreur vient-elle de la déclaration DIM ?

Oui parce que votre inputbox vous renvoie de base une valeur texte (String).
Et comme vous ne précisez pas dans Dim de quelle variable il s'agit l'inputbox agit par défaut.

Sinon ce n'est pas plutot ceci que vous devriez faire

Sub essai2()
Dim col As Byte
Dim lastrow As Integer, z As Integer

col = InputBox("Nº de la conne ? ")
lastrow = Cells(Rows.Count, col).End(xlUp).Row '.Offset(1, 0)
For z = lastrow To 1 Step -1
If Cells(z, col).Value = "" Then Cells(z, col).Delete
Next z
End Sub

J'ai désactivé l'offset puisque je suppose que vous voulez choisir une colonne puis trouver la dernière ligne de cette colonne

Cordialement

Bonjour

Merci pour l'information

Bonne journée

Re

Rechercher des sujets similaires à "inputbox declaration dim"