Boucle pour changer hauteur de ligne ne fct pas

Résolu/Fermé
Obiwan22 Messages postés 2 Date d'inscription dimanche 3 mai 2020 Statut Membre Dernière intervention 3 mai 2020 - Modifié le 3 mai 2020 à 14:13
Obiwan22 Messages postés 2 Date d'inscription dimanche 3 mai 2020 Statut Membre Dernière intervention 3 mai 2020 - 3 mai 2020 à 14:36
Bonjour,
Je debut dans VBA et le langage Objet en général.
Je souhaite , sous Excel, augmenter la hauteur de ligne , quand la 2nd cellule de celle ci n'est pas vide . et ceci pour toutes les lignes jusqu'à la fin de ma sélection.

Je vous montre 2 Macro
La Macro 3
fonctionne , mais elle utilise pas la variable i de la boucle For...Next dans la Cells(10,2)
La Macro 4
Je remplace le Cells(10,2) par Cells(i,2).
mais ça plante sur la ligne avec "erreur définit par l'application ou par l'objet"
Je pensais (peut être naïvement ) que la variable i pouvait remplacer la valeur absolue "10".

Qu'est ce qui cloche dans mon code ou mon chemin de pensée ?
Si une bonne oeuvre pouvait m'aider .
un grand merci par avance.
Marc

Sub Macro3()          'cette macro fonctionne
Dim i As Integer
DL = Range("B500").End(xlUp).Row
' Mise en page des Lignes
Range("A1" & ":N" & DL).Select
Selection.Activate
For i = 0 To DL
    If Cells(10, 2).Value <> "" Then
            Cells(10, 2).Select
            Selection.RowHeight = 55
    End If
Next i
End Sub

Sub Macro4() 'cette macro fonctionne ne fonctionne pas en remplaçant dans Cells(10,2) par une variable Cells (i,2)
Dim i As Integer
DL = Range("B500").End(xlUp).Row
' Mise en page des Lignes
Range("A1" & ":N" & DL).Select
Selection.Activate
For i = 0 To DL
    If Cells(i, 2).Value <> "" Then
            Cells(i, 2).Select
            Selection.RowHeight = 55
    End If
Next i
End Sub


EDIT : Ajout des balises de code
A voir également:

2 réponses

jordane45 Messages postés 38388 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 janvier 2025 4 727
3 mai 2020 à 14:16
Bonjour,

i à zéro.... ce correspond pas à une ligne..
De plus, il faut éviter de faire des .select ou des .activate

Teste ça
Sub Macro4() 'cette macro fonctionne ne fonctionne pas en remplaçant dans Cells(10,2) par une variable Cells (i,2)
Dim i As Integer
DL = Range("B500").End(xlUp).Row

For i = 1 To DL
    If Cells(i, 2).Value <> "" Then
       Cells(i, 2).RowHeight = 55
    End If
Next i
End Sub

0
Obiwan22 Messages postés 2 Date d'inscription dimanche 3 mai 2020 Statut Membre Dernière intervention 3 mai 2020
3 mai 2020 à 14:36
P***n, Tant de souffrance pour ça !!!!
j'avais pas vu. un grand grand merci pour m'avoir éclairer sur cette bourde et pour le conseil !!
0