Bonjour,
J'ai ce code qui doit concaténer les mots de la colonne A avec tous les mots de la colonne C.
J'ai désigner les plages "maplage1" et "maplage3" à partir de la 2ème ligne car il y a des en-têtes.
Je veux vérifier que ces deux plages contiennent au moins un mot chacune avant de lancer la concaténation. Cependant lorsqu'il y a un mot en colonne A et pas de mot en colonne C, et bien le mot de l'en-tête de la colonne C est utilisé! Pourtant j'ai définie la colonne C comme ça :
derligne3 = Range("C" & Rows.Count).End(xlUp).Row
et
Set maplage3 = Range(Cells(2, 3), Cells(derligne3, 3))
donc normalement ça comme ligne 2 non?
Et ensuite j'utilise la fonction Application.countA().
Quelqu'un a-t-il une explication?
Sub otk()
Sheets("feuil1").Activate
Dim maplage1, maplage3 As Range
Dim c, d As Range
Dim derligne1, derligne3 As Long
derligne1 = Range("A" & Rows.Count).End(xlUp).Row
derligne3 = Range("C" & Rows.Count).End(xlUp).Row
Set maplage1 = Range((2, 1), Cells(derligne1, 1))
Set maplage3 = Range(Cells(2, 3), Cells(derligne3, 3))
If Application.CountA(maplage1) = 0 Or Application.CountA(maplage3) = 0 Then
MsgBox "Cellule(s) vide(s)"
Else
For Each c In maplage1
For Each d In maplage3
i = i + 1
Cells(1 + i, "D") = c & "_" & d
Next d
Next c
End If
End Sub