VBA SI cell vide la remplacer par une autre

Résolu/Fermé
Anelina - 12 oct. 2010 à 10:29
 Anelina - 12 oct. 2010 à 11:57
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

merci

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
12 oct. 2010 à 11:44
Bonjour,
Je suppose dans l'exemple suivant que la colonne A ne contient pas de cellule vide...
!!! Je n'ai pas testé ce code, donc il convient de l'essayer sur une copie de votre fichier avant tout...!!!
Dim DerniereLigne As Integer, i As Integer
DerniereLigne = Range("A65536").End(xlUp).Row
For i = 1 To DerniereLigne
If Cells(i, 2).Value = "" And Cells(i, 17).Value = "Commandes d'achat" Then
Cells(i, 2).Value = Cells(i, 1).Value
End If
Next

Vérifiez aussi l'orthographe de "Commandes d'achat"... Un espace peux tout changer...
1
Merci beaucoup Pijaku pour cette réponse rapide, et en plus ça marche parfaitement!!

Anelina
0