VBA Remplacer valeur selon couleur de celulle

Résolu/Fermé
VBActor - Modifié par VBActor le 1/06/2011 à 10:45
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 1 juin 2011 à 11:48
Bonjour,

Je cherche une solution VBA pour résoudre le problème suivant : j'ai une zone de cellule qui est sélectionnée. A l'intérieur de celle-ci j'ai des cellules bleues, et des cellules blanches (sans aucun contenu pour les 2). J'aimerais que ma macro me remplace le vide ("") par des "1" uniquement pour les cellules blanches.

Pouvez-vous m'aider ?

Merci d'avance
A voir également:

5 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
1 juin 2011 à 11:13
bonjour,

comment ta zone est elle sélectionnée??
Si c'est manuellement, je ne crois pas que ce soit pas possible.
par contre si la sélection peut se faire par la macro, je sais faire.
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
1 juin 2011 à 11:17
Re,

essaie ca :

Sub SelectionEtConcatenation()

Dim Plage As Range, Cel As Range


Set Plage = Application.InputBox("Sélectionnez une plage !", "Sélection de cellules", Type:=8)

For Each Cel In Plage


If Cel.Interior.ColorIndex = xlNone Then
Cel.Value = 1
End If
Next

End Sub
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
1 juin 2011 à 11:20
Salut melanie,
Joli code ;-)
Bonne journée
0
Je sélectionne ma zone comme suit :

Cells.Find("1° trimestre").Activate
ActiveCell.Offset(2, 0).Select
ActiveCell.CurrentRegion.Select

Ainsi la zone que je souhaite sélectionner est activée...et donc l'idée c'est de modifier uniquement les cellules blanches de cette zone.

Merci pour la réponse en tout cas, je vais tester ça
0
Ca marche très bien mais comment puis-je faire pour ne pas que ça me pose la question de la zone à sélectionner (mais que ça me prenne automatiquement la zone qui est activée) ?

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
1 juin 2011 à 11:32
Re,

alors le code est plutôt :


Cells.Find("1° trimestre").Activate
ActiveCell.Offset(2, 0).Select
Set tbl = ActiveCell.CurrentRegion

For Each cel In tbl
If cel.Interior.ColorIndex = xlNone Then
cel.Selection = 1
End If
Next
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
1 juin 2011 à 11:33
jai fait une petite erreur, c plutot :
Cells.Find("1° trimestre").Activate
ActiveCell.Offset(2, 0).Select
Set tbl = ActiveCell.CurrentRegion

For Each cel In tbl
If cel.Interior.ColorIndex = xlNone Then
cel.value = 1
End If
Next
0
Ca fonctionne ! Merci beaucoup pour le code :)
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
1 juin 2011 à 11:48
re rien juste indique que le sujet est clos!
0