Si cellule vide + autre condition remplacer la cellule par une autre
Anelina
Messages postés2Date d'inscriptionmardi 12 octobre 2010StatutMembreDernière intervention12 octobre 2010
-
12 oct. 2010 à 11:25
Anelina
Messages postés2Date d'inscriptionmardi 12 octobre 2010StatutMembreDernière intervention12 octobre 2010
-
12 oct. 2010 à 13:38
Bonjour,
Je suis débutante en vba, et depuis quelques jours je cherche une solution en vain, donc toute proposition sera la bienvenue.
Pour un tableau à taille variable, je souhaiterai que :
Si cellule B1 vide ET que la cellule Q1 contient "commande d'achat"
remplacer la valeur de B1 par A1
J'avais au départ opté pour cette solution qui etait satisfaisante jusqu'à ce mon extraction me donne des cellules vides non regroupés (et je ne peux pas trier):
derlig = Range("B1").End(xlDown).Row
Range("B" & derlig).Select
ActiveCell.Offset(1, 0).Select
Do While IsEmpty(ActiveCell) And Cells(ActiveCell.Row, 16).Value = "Commandes d'achat"
Cells(ActiveCell.Row, 2).Formula = Cells(ActiveCell.Row, 1).Value
Selection.Offset(1, 0).Select
Loop
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 12 oct. 2010 à 12:07
Salut
Donc, tu veux (dois) parcourir toutes les cellules et boucher les trous avec ta condition, c'est ça ?
Teste ceci qui utilise des Range au lieu de l'objet Selection qui est très lent :
Dim oRangeTotal As Range
Dim oRange As Range
Set oRangeTotal = Range("B1", Range("B65535").End(xlUp))
For Each oRange In oRangeTotal
If IsEmpty(oRange) And oRange.Offset(0, 15).Value = "Commandes d'achat" Then
oRange.Value = oRange.Offset(0, -1).Value
End If
Next
PS : Quand tu colles du code, utilise la coloration syntaxique = 3ème icone à droite
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)