Boucle pour changer hauteur de ligne ne fct pas

Résolu
Obiwan22 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Obiwan22 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention  
 
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