Bonjour, dans le fichier joint j'apprécierais votre aide pour finaliser un bout de code dont je ne suis pas capable de réaliser.
Tous mes tentatives ont échouées.
Merci à l'avance.
Version imprimable
Bonjour, dans le fichier joint j'apprécierais votre aide pour finaliser un bout de code dont je ne suis pas capable de réaliser.
Tous mes tentatives ont échouées.
Merci à l'avance.
Bonjour,
En publiant votre code, vous augmentez vos chances d'obtenir de l'aide car une bonne partie des contributeurs de ce forum dont je fais partie n'ouvre pas les fichiers joints surtout à l'ouverture d'une discussion.
Je suis capable de sélectionner le Range 1,2 ou 3 maintenant comment je fais
pour écrire à partir du bas vers le haut avec une macro ?
Mes Range ont toujours 6 lignes.
Je ne sais jamais combien de lignes que je vais écrire dans chacune des cellules des différents range.
J'aimerais un bout de code seulement pour le Range1 par exemple.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Option Explicit Sub Test() Dim i as integer For Each c In Range("Range1").Cells For i = 6 To 1 Step -1 If Trim(c.value) = "" Then c.value = Valeur quelconque Next i Exit For Next End if
Bonjour,
Petit exemple sur la première colonne du Range
La fonction Trim que vous avez utilisée n'a de sens que si un caractère espacé risque de se trouver dans la cellule donc si vous pensez que ce soit possible, voici la ligne 5 modifiéeCode:
1
2
3
4
5
6
7
8 Sub Test() Dim r As Integer With Range("range1") For r = 6 To 1 Step -1 If Len(.Cells(r, 1).Value) = 0 Then .Cells(r, 1).Value = "Toto" Next End With End Sub
Personnellement, j'éviterais l'utilisation de la constante 6 pour s'affranchir de la limite des 6 lignes et j'utiliserais la propriété Count de la collection Rows du Range qui indiquera le nombre de ligne de celui-ci. RangeCode:If Len(Trim(.Cells(r, 1).Value)) = 0 Then .Cells(r, 1).Value = "Toto"
Code:
1
2
3
4
5
6
7
8 Sub Test() Dim r As Integer With Range("range1") For r = .Rows.Count To 1 Step -1 If Len(Trim(.Cells(r, 1).Value)) = 0 Then .Cells(r, 1).Value = "Toto" Next End With End Sub
Merci beaucoup Philippe, c'est exactement ce dont je cherchais et surtout la simplicité de ton code.