Bonjour,
Novice en VBA
Ta description de l'opération le montre ! Tu indiques ce que tu ferais manuellement, pas la façon dont VBA peut faire :
tu dois parcourir ton tableau ligne par ligne... eh bien d'abord tu le prélèves en tableau pour l'examiner hors Excel :
aa = ActiveSheet.Range("A1").CurrentRegion.Value
on suppose que ton tableau commence bien en A1 et qu'il comporte une ligne d'en-tête, et que ce n'est pas un tableau Excel (sans quoi on procèderait différemment !).
Pour parcourir les lignes une boucle :
For i = 2 To UBound(aa)
Pour chaque ligne on teste les 2 cellules concernées, et si contiennent une valeur on prélève pour placer dans un tableau résultat :
If aa(i, 88) <> "" Then
Redim Preserve Tbl(n)
Tbl(n) = aa(i, 88) : n = n + 1
End If
If aa(i, 108) <> "" Then
Redim Preserve Tbl(n)
Tbl(n) = aa(i, 108) : n = n + 1
End If
Et quand c'est fini, on n'a plus qu'à ajouter les données prélevées dans la feuille cible.
On ira chercher la ligne à partir de laquelle insérer dans la colonne F de la feuille (inconnue), du classeur destinataire (dont on ignore le nom, et dont on ne sait s'il est déjà ouvert...).
Supposons i cette lignes d'insertion, dans la colonne F :
.Cells(i, 6).Resize(n).Value = WorksheetFunction.Transpose(Tbl)
Et le tour sera joué. Mais on te fera ça à partir de classeurs modèles que tu n'as pas encore fournis...
Cordialement.
edit : Salut Pedro !