Remplacer cellules non-vides "X" par une donnée en tête de colonne

Bonjour à tous,

Je cherche à remplacer les cellules non-vides de mon tableau par une valeur (note) dans la première cellule de ma colonne, cette dernière pouvant être amenée à être modifiée. J'ai commencé à le faire manuellement : colonne par colonne grâce à l'outil "remplacer", mais j'ai une centaine de colonnes et les valeurs sont amenées à évoluer...

Mon tableau (exemple) actuellement

Note2

4

3
JeanX
MauriceX
ArielleXXX

Ce que je souhaite faire

Note243
Jean2
Maurice4
Arielle243

Merci d'avance pour votre aide,
Bonne journée

Bonjour,

Je propose deux solutions différentes:

Sub testTableau()
Dim tableau As Variant
Dim nbCol As Integer, ligFin As Integer

nbCol = Cells(1, Columns.Count).End(xlToLeft).Column
ligFin = Range("A" & Rows.Count).End(xlUp).Row

For j = 2 To nbCol 'on passe la première
    tableau = Range(Cells(1, j), Cells(ligFin, j)).Value

    For i = LBound(tableau, 1) + 1 To UBound(tableau, 1)
        If Not tableau(i, 1) = "" Then
            tableau(i, 1) = tableau(1, 1)
        End If
    Next i
    Range(Cells(1, j), Cells(ligFin, j)) = tableau
Next j
End Sub

Sub testFormule()
Dim nbCol As Integer, ligFin As Integer

nbCol = Cells(1, Columns.Count).End(xlToLeft).Column
ligFin = Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To ligFin
    For j = 2 To nbCol
        If Not Cells(i, j) = "" Then
            Cells(i, j).Formula2Local = "=" & Cells(1, j).Address(True, False)
        End If
    Next j
Next i
End Sub

testTableau sert à remplacer les cases non vides dans la colonne par la note, pour chaque colonne (sauf la première qui contient les noms bien entendu), mais il faut la relancer à chaque fois qu'une note change.

testFormule sert à remplacer les cases non vides par des formules faisant référence à la cellule contenant la note pour la colonne, leurs valeurs se mettra à jour automatiquement mais c'est peut-être lourd en fonction de la taille du tableau, à tester donc.

Bonjour,

Sans macro...

Tu sélectionnes ta plage de données (dans ton exemple, des cellules B2 à D4)

Tu cliques sur la touche de fonction F5 (Atteindre), puis sur "cellules" (en bas à droite)

Tu sélectionnes comme ceci :

image

Puis, dans la barre de formules, tu mets cette formule :

=B$1

Attention à bien mettre le signe Dollar ($) entre B et 1

Pour valider la saisie, tu appuies simultanément sur CTRL + Entrée

Tes valeurs "Texte" sont ainsi remplacées par la valeur de la ligne 1

Tu sélectionnes ensuite de B2 à D4, Copier/Collage Spécial (Valeurs)

Bon courage

Bonjour Ausecour et cousinhub,

Merci pour vos solutions !

J'ai privilégié la méthode de sélection de cellules de cousinhub (ne maîtrisant pas la macro) et ça fonctionne !

Merci infiniment,
Bonne journée

Rechercher des sujets similaires à "remplacer vides donnee tete colonne"