RESOLU - Merci JCGL -Code écrivant dans cellule vide de la colonne J

castor30

XLDnaute Occasionnel
Bonjour amis du forum,
Voilà mon nouveau problème.
En colonne "J" j'ai des adresses mais parfois non et dans ce cas, je désirerai que la mention "Non communiquée" soit portée dans la cellule correspondante sans que cela efface les adresses saisies.
Cette colonne "J" est nommée "MalistAdresse"
Je souhaiterai si c'est possible, un code qui inscrirai cette mention "Non communiquée" dans les cellules sans adresse.
Je ne souhaite pas passer par une MFC.
En vous remerciant.
 

JCGL

XLDnaute Barbatruc
Bonjour à tous,

Peux-tu essayer avec :
VB:
Option Explicit

Sub Test()
    Dim DerL&, Lig&
    DerL = Feuil1.Range("J" & Rows.Count).End(xlUp).Row
    For Lig = 1 To DerL
        If Cells(Lig, 10) = "" Then Cells(Lig, 10) = "Non communiqué"
    Next Lig
    Columns("J:J").EntireColumn.AutoFit
End Sub

A+ à tous
 

chris

XLDnaute Barbatruc
Bonjour
Bise à JCGL :)

On peut aussi :
  • sélectionner la colonne J de la plage concernée (on peut passer par la zone de nom et taper MalistAdresse)
  • appuyer sur la touche F5
  • Cellules, cellules vides
  • taper Non communiqué
  • valider par CTRL+entrée
 

castor30

XLDnaute Occasionnel
re,
j'ai crié victoire trop rapidement.
en fait, le code fonctionne mais je désirerai qu'il s'active uniquement lors de saisie dans la colonne J
lorsque le code postal est saisi (colonne L) et que la cellule en J n'est pas renseignée.
De plus je souhaiterai que Non communiquée se mette en rouge et en gras.
en vous remerciant.
 

JCGL

XLDnaute Barbatruc
Bonjour à tous,

Un essai sur la feuille Base avec :

VB:
Option Explicit

Sub TrieretVérifier()
    Call Trier
    Call Vérifier
End Sub

Sub Trier()
    Dim DerL&, Lig&
    DerL = Feuil3.Range("A" & Rows.Count).End(xlUp).Row
    Feuil3.Range("A2:Z" & DerL).Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2")
End Sub

Sub Vérifier()
    Dim DerL&, Lig&
    DerL = Feuil3.Range("A" & Rows.Count).End(xlUp).Row
    For Lig = 2 To DerL
        If Cells(Lig, 12) = "" And Cells(Lig, 10) <> "" Then
            With Cells(Lig, 12)
                .Value = "Non communiqué"
                .Font.Bold = True
                .Font.ColorIndex = 3
            End With
        Else
            With Cells(Lig, 12)
                .Value = .Value
                .Font.Bold = False
                .Font.ColorIndex = 1
            End With
        End If
        If Cells(Lig, 10) = "" And Cells(Lig, 12) <> "" Then
            With Cells(Lig, 10)
                .Value = "Non communiqué"
                .Font.Bold = True
                .Font.ColorIndex = 3
            End With
        Else
            With Cells(Lig, 10)
                .Value = .Value
                .Font.Bold = False
                .Font.ColorIndex = 1
            End With
        End If
    Next Lig
    Cells.Columns.AutoFit
    Range("A1").Select
End Sub

A+ à tous
 

Pièces jointes

  • JC Association.xls
    101.5 KB · Affichages: 44

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260