Remplissage de colonne

A

Art

Guest
Bonjour à tous, et pensez à vos fiancé(e)s aujourd'hui ;-)
Voila mon problème.
J'aimerais, à l'aide d'une macro, qu'en selectionnant deux colonnes (A et B par exemple) que les cellules vides eventuelles de la colonne B (et seulement celles-ci) soient remplacées par le contenue des cellules adjacentes de la colonne A.
Cordialement
Art
 
M

Moa

Guest
Salut Art !

Tu prenais la macro du post juste avant, tu la modifiais très très peu et le tour était joué :

Macro du post en dessous :

Sub Macro1()
Dim Cell As Range
For Each Cell In Range("A1:A10")
If Cell.Interior.ColorIndex = 10 Then
Cell.Offset(0, 1).Interior.ColorIndex = 10
End If
Next Cell
End Sub

Celle pour ton cas :

Sub Macro1()
Dim Cell As Range
For Each Cell In Range("B1:B10")
If Cell = "" Then
Cell = Cell.Offset(0, -1).Value
End If
Next Cell
End Sub

Tu peux bien sur, mettre :

For Each Cell in Selection et sélectionner ta plage à la souris avant de lancer la macro.

Faut quand-même se creuser un peu la tête...non..?

@ +

Moa
 
A

Art

Guest
Bonjour à tous, bonjour Moa
En effet, j'aurais du etre plus attentif, en tout cas merci beaucoup pour ton coup de main, la macro marche super bien, par contre j'ai oublier de preciser que les cellules qui ont ete déplacées doivent etre effacées de leur cellules d'origine, peut tu me mettre sur la voie?
Encore merci de ton aide.
@+
Art
 
M

Moa

Guest
Re Art !

Que dit la macro ?

For Each Cell In Range("B1:B10")

Pour chaque cellule de la plage B1 à B10

If Cell = " " Then

Si la Cellule est vide alors

Cell = Cell.Offset(0, -1).Value

Prend la valeur de la cellule juste à gauche :

Offset = décalage (Ligne, Colonne).

Donc maintenant, on veut que la cellule qui a donné la valeur s'éfface, Ok !

Donc il suffit de rajouter à ta macro :

Cell.Offset(0, -1).ClearContents

@ +

Moa
 

Discussions similaires

Statistiques des forums

Discussions
314 083
Messages
2 105 562
Membres
109 387
dernier inscrit
Thaliemandarine