A voir également:
- Comparer 2 cellules et supprimer en une : VBA
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Fusionner 2 cellules excel - Guide
- Verrouiller cellules excel - Guide
2 réponses
For i =4 To 41
If Cells(i, 1).value <> Cells(i, 6).value Then
Cells(i, 6).value=""
Cells(i, 7).value=""
Cells(i, 8).value=""
End If
Next i
ca devrai fonctionner comme ceci
If Cells(i, 1).value <> Cells(i, 6).value Then
Cells(i, 6).value=""
Cells(i, 7).value=""
Cells(i, 8).value=""
End If
Next i
ca devrai fonctionner comme ceci
Merci pour ces conseils.
Le problème est enfin résolu avec une boucle While :
Sub ComparerSupprimer()
Dim j As Integer
j = Cells(1, 1).Value
While j < Cells(2, 1).Value
If Cells(j, 1).Value <> Cells(j, 12).Value And Cells(j, 12).Value <> "" Then
Cells(j, 12).Delete
Cells(j, 13).Delete
Cells(j, 14).Delete
Cells(j, 15).Delete
Cells(j, 16).Delete
Cells(j, 17).Delete
Cells(j, 18).Delete
Cells(j, 19).Delete
Cells(j, 20).Delete
Cells(j, 21).Delete
Cells(j, 22).Delete
j = j - 1
limit = limit - 1
End If
j = j + 1
Wend
End Sub
Merci
Le problème est enfin résolu avec une boucle While :
Sub ComparerSupprimer()
Dim j As Integer
j = Cells(1, 1).Value
While j < Cells(2, 1).Value
If Cells(j, 1).Value <> Cells(j, 12).Value And Cells(j, 12).Value <> "" Then
Cells(j, 12).Delete
Cells(j, 13).Delete
Cells(j, 14).Delete
Cells(j, 15).Delete
Cells(j, 16).Delete
Cells(j, 17).Delete
Cells(j, 18).Delete
Cells(j, 19).Delete
Cells(j, 20).Delete
Cells(j, 21).Delete
Cells(j, 22).Delete
j = j - 1
limit = limit - 1
End If
j = j + 1
Wend
End Sub
Merci
16 juil. 2008 à 09:05
Merci pour votre réponse très rapide.
Votre programme fonctionne mais pas tout a fait comme je le souhaite.
votre programme supprime les cellules comme prévu mais moi j'aimerais que ça les supprime vers le haut (que ça remonte les cellules du dessous, comme quand on fait clique droit supprimer ver le haut).
ça permetterait d'avoir correspondances entre la cellule (A;18) et (F; 18).
car là ça me supprime tous les produits du stocks dès que le programme trouve une différence entre cellule. JE voudrais que ça supprime juste le produit vendu.
dite moi comment je peux vous envoyer un fichier excel comme ça vous pourrez voir comment ça se présente.
Je pense que je ne dois aps être très clair dans mes explication, je suis désolé.
Encore merci
16 juil. 2008 à 09:16
sinon je ne comprend pas tres bien ce aue vous voulez faire. Faite moi si vous savez un simple scheme du style.
article | nom | ...
et ce que ca devrai donner
.... | ... | ...
16 juil. 2008 à 09:29
Voilà un schéma simple de mon fichier. (A ;C) stocks au jour J et (F ;H) stock au jour J-1
A B C
Article / Catégorie / Poids
1 cat1 2.35
1 cat1 2.36
2 cat3 2.40
4 cat1 2.35
6 cat1 2.35
F G H
Article / Catégorie / Poids
1 cat1 2.35
1 cat1 2.36
2 cat3 2.40
3 cat2 2.38
3 cat1 2.35
4 cat1 2.35
5 cat1 2.35
5 cat1 2.35
6 cat1 2.35
j’aimerais donc comparer (A ;1) avec (F ;1) : si identique passer à la ligne suivante, si différente supprimer vers le haut (F ;G ; H ; 1) et comparer à nouveau (A ;1) avec la nouvelle valeur de (F :1).
Dans l’exemple, il faudrait supprimer les cellules (F ;G ; H ; 4) ; (F ;G ; H ; 5) ; (F ;G ; H ; 7) ; (F ;G ; H ; 8) ; correspondant aux produits 3 et 5 vendus et donc plus en stocks.
A la fin je souhaite avoir un le stock au jour J = au stock au jours J-1.
A B C
Article / Catégorie / Poids
1 cat1 2.35
1 cat1 2.36
2 cat3 2.40
4 cat1 2.35
6 cat1 2.35
F G H
Article / Catégorie / Poids
1 cat1 2.35
1 cat1 2.36
2 cat3 2.40
4 cat1 2.35
6 cat1 2.35
Désolé si j’explique mal mon problème.
Merci
16 juil. 2008 à 09:46
If Cells(i, 1).value <> Cells(i, 6).value Then
Cells(i, 6).value=""
Cells(i, 7).value=""
Cells(i, 8).value=""
For a =i To 41
Cells(a, 6).value=Cells(a+1, 6).value
Cells(a, 7).value=Cells(a+1, 7).value
Cells(a, 8).value=Cells(a+1, 8).value
next a
End If
Next i
essaye avec ca, si j ai bien compri ca devrai fonctionner, et t inquiete pas je suis juste un etudiant qui s ennuye au bureau pendant son job d ete ...
16 juil. 2008 à 10:30
ça supprime bien des cellules mais il reste des cellules qui ne devraient plus être là. J'ai remplacé Cells(i, 6).value="" par Cells(i, 6).Delete , ça marche mais que quand je change manuellement le for i=4 to 16 puis to 17 puis to 20 ...
je ne sais pas mettre un fichier sur ftp,désolé.
je pense qu'il n'y a pas de solution à mon problème.
si tu as d'autres pistes (pour t'occuper, je ne voudrais pas que tu t'ennui au boulot) merci.