Afficher texte si cellule à côté remplie

Fermé
Jujusyl72 Messages postés 3 Date d'inscription lundi 1 octobre 2018 Statut Membre Dernière intervention 9 octobre 2018 - 1 oct. 2018 à 12:28
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 9 oct. 2018 à 10:48
Bonjour,

Je cherche à inscrire automatiquement un texte dans une cellule seulement si celle à gauche est remplie.

Je m'explique, si les cellules C6 à C32 contiennent n'importe quel caractères ou un texte, j'aimerais inscrire dans la cellule correspondante à droite (D6 à D32) le texte "A Faire".
SI la cellule Cx est vide, bien évidemment ne rien faire.

Dans l'état actuel, j'ai réussi à inscrire automatiquement dans les cellules D6 à D32 "A faire" lorsqu'elle est vide.

Merci de votre aide.


4 réponses

PHILOU10120 Messages postés 6368 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 22 avril 2024 796
1 oct. 2018 à 12:38
Bonjour

Mettre cette formule en C6 et la tirer jusqu'à la ligne 32

=SI(C6<>"";"à faire";"")
1
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié le 1 oct. 2018 à 12:48
euh.... en D6, la formule!

0
Jujusyl72 Messages postés 3 Date d'inscription lundi 1 octobre 2018 Statut Membre Dernière intervention 9 octobre 2018
1 oct. 2018 à 12:48
Merci, ça je sais faire, du coup j'aurais voulu une macro.

Actuellement j'en ai une qui me remplit les cellules de C6àC32, si elles sont vides, la mention à faire vient, et réapparait lorsque l'on efface le contenu.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
1 oct. 2018 à 14:02
Bonjour,

Voir ici pour faire une boucle sur les cellules concernées

https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/

allez sur la feuille concernée faire Alt F11 pour accèder à l'éditeur et coller ceci:

Option Explicit
'https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C6:C32")) Is Nothing Then
For_X_to_Next_Ligne
End If
End Sub
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Feuil1")
    NoCol = 3 'lecture de la colonne C
    For NoLig = 6 To 32 'Split(FL1.UsedRange.Address, "$")(4)'dernière ligne
        Var = FL1.Cells(NoLig, NoCol)
          If Var = "" Then
           FL1.Cells(NoLig, NoCol + 1) = ""
        Else
        FL1.Cells(NoLig, NoCol + 1) = "A faire"
        End If
    Next
    Set FL1 = Nothing
End Sub


0
Jujusyl72 Messages postés 3 Date d'inscription lundi 1 octobre 2018 Statut Membre Dernière intervention 9 octobre 2018
9 oct. 2018 à 09:28
Merci, ça fonctionne au top.

Y a-t'il un moyen d'automatiser le lancement de la macro à l'ouverture du fichier au lieu de devoir la lancer à chaque modification?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
9 oct. 2018 à 10:48
bien sur en mettant le code dans ThisWorkbook comme ceci:

Option Explicit
Private Sub Workbook_Open()
For_X_to_Next_Ligne
End Sub
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Feuil1")
    NoCol = 3 'lecture de la colonne C
    For NoLig = 6 To 32 'Split(FL1.UsedRange.Address, "$")(4)'dernière ligne
        Var = FL1.Cells(NoLig, NoCol)
          If Var = "" Then
           FL1.Cells(NoLig, NoCol + 1) = ""
        Else
        FL1.Cells(NoLig, NoCol + 1) = "A faire"
        End If
    Next
    Set FL1 = Nothing
End Sub


mais il ne se déclenchera qu'à l'ouverture!
a toi de voir
@+
0