Voilà mon problème qui, à la vue de réponses d'autres posts, sera certainement assez simple pour nos experts Excel 2007 ;-)
J'ai un tableau contenant des milliers de données mais dont certaines cellules ne sont pas remplies. Je voudrais remplir ces cellules vides par un contenu suivant certainement conditions et cela automatiquement lors de chaque donwload des données de notre système. En effet il m'est impossible de changer les données dans le système, donc a chaque donwload, la mm opération est à effectuer. Bien entendu le nombre de lignes du tableau augmente au fil du temps....
Un simple clic sur un bouton serait le bien venu pour actualiser automatiquement toutes les données? Je n'y connais pas grand chose en macro ni VBA :-(
Donc dans le fichier ci-joint:
1/ remplacer toutes les cellules vides de la colonne B par un texte fixe. Disons "INCONNU"
2/ remplacer toutes les cellules vides de la colonne C par le même contenu que la colonne B
Je vous dis déjà un grand merci pour vos réponses d'experts
Re : Remplacer contenu d'une feuille avec conditions
Bonsoir Dixbix,
voici en retour ton fichier avec la macro.
Code:
Private Sub CommandButton1_Click()
lig = [A:C].Find("*", , , , 1, 2).Row
For Each c In Range("B1:C" & lig)
If c.Value = "" Then c.Value = "Inconnue"
Next
End Sub
Re : Remplacer contenu d'une feuille avec conditions
Merci beaucoup Youky,
N'y connaissant rien en VBA, je me permets de te proposer une petite variante de mon probleme. En effet, le resultat de ta macro remplace bien les cellule vides par un mot "inconnue" mais la colonne C aurait dû être remplacer par les valeurs de la colonne A et non "inconnue" :-(
Un autre soucis est qu'en fait, le bouton de Macro devrait se trouver dans une autre feuille que la feuille des données
Revoici donc mon petit fichier version 2
S'il etait possible de modifier la macro dans ce sens, ce serait merveilleux
Encore merci d'avance à toi ainsi qu'à ce super site d'entraide
Re : Remplacer contenu d'une feuille avec conditions
Bonsoir à tous
Une autre solution
Code:
Sub Macro1()
Application.ScreenUpdating = False
With ActiveSheet
With Range(.[B1], .[A65536].End(xlUp)).SpecialCells(xlCellTypeBlanks)
.Value = "INCONNUE"
.Font.ColorIndex = 3
End With
With Range(.[C1], .[A65536].End(xlUp)).SpecialCells(xlCellTypeBlanks)
.FormulaR1C1 = "=RC[-2]"
.Value = .Value
.Font.ColorIndex = 3
End With
End With
Application.ScreenUpdating = True
End Sub