Bonjour,
J’ai un tableau de 45 colonnes avec des centaines de lignes. Pour chaque ligne, dans les cellules situées entre la ligne 4 et la ligne 13 incluse, puis entre la ligne 15 et la ligne 24 incluse, on ne compte qu’une seule cellule remplie, toutes les autres sont vides.
Cela tient au fait que chaque ligne de ce tableau est la réponse d’une personne à un questionnaire pour lesquels les répondants ne pouvaient choisir qu’une seule réponse parmi une suite d’options. Par conséquent, le résultat apparaît éclaté entre de nombreuses colonnes.
Je souhaiterais créer une colonne qui regroupe pour chaque ligne la seule cellule remplie qui se situe entre la ligne 4 et la ligne 13 incluse, ou bien entre la ligne 15 et la ligne 24 incluse.
J’ai essayé ça :
Sub RegrouperCellulesRemplies()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
' Spécifiez ici le nom de votre feuille de calcul
Set ws = ThisWorkbook.Sheets("formulaire 2024 - réponses")
' Déterminer la dernière ligne avec des données dans la colonne A (ajustez selon vos besoins)
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Parcourir chaque ligne
For i = 1 To lastRow
' Fusionner les valeurs entre la ligne 4 et 13, ou entre la ligne 15 et 24
ws.Cells(i, 46).Value = FusionnerCellulesRemplies(ws.Range(ws.Cells(i, 1), ws.Cells(i, 45)).Offset(0, 3))
Next i
End Sub
Function FusionnerCellulesRemplies(rng As Range) As String
Dim cell As Range
Dim valeurCellule As String
' Parcourir chaque cellule dans la plage spécifiée
For Each cell In rng
' Si la cellule n'est pas vide, enregistrer la valeur et quitter la boucle
If Not IsEmpty(cell.Value) Then
valeurCellule = cell.Value
Exit For
End If
Next cell
' Renvoyer la valeur de la cellule remplie
FusionnerCellulesRemplies = valeurCellule
End Function
en vrai ça ne fonctionne pas du tout, j'ai une erreur 9 ce qui signifie que "l'indice n'appartient pas à la sélection" - qu'il y a un problème avec les indices d'un tableau ou d'une plage qui n'existe pas ou qui est incorrecte.
Mais mon tableau a bien 45 colonnes, et je suis bloqué. Avez-vous une solution ?
Partager