VBA suppression de ligne mais pas de formules

Bonjour à tous,

J'ai un petit problème sur ma VBA. J'ai deux feuilles EXCEL : sur la feuil1 se trouve plusieurs colonnes avec des données (ex: nom client, etc). Sur la feuil2 se trouve une machine spécifique où sont importées les données de la feuil1 avec la formule =+si().

Je voudrai exécuter un tri sur la colonne K et je ne voudrai garder que les "EPOX-MA-HEURE-THYRO" et les "EPOX-MA-HEURE-MAKITA" et supprimer les autres lignes sans forcément supprimer mes formules =+si() de manière permanente.

Pouvez-vous m'aider? J'ai mis en pièce jointe un bout du classeur, merci d'avance!

23test-vba.xlsm (112.49 Ko)

Bonjour Alphafaure le forum

je ne comprend pas ta demande ta macro fait bien le boulot que tu souhaites,

que souhaite tu en plus STP

a+

Papou

Quand je fais une remise à zéro de la feuil1, mes formules de la feuil2 en A11 par exemple ne sont plus =+si(Feuil1!A11<>"";Feuil1!A11;"") donc lorsque j'aurais de nouvelles données en feuil1 ça ne me recherchera pas directement à A11..

Je sais pas si c'est très clair ce que je dis..

Rebonjour,

Après l'activation de ma VBA sur la feuil2, il a suppression de lignes donc les formules remontent et lorsque je fais une mise à blanc de ma feuil1 et que je remets des valeurs dans celle-i, les formules de la feuil2 sont restées comme si j'avais effectué la VBA donc en case A11 de ma feuil2 je ne retrouverai pas la formule : =SI(Feuil1!A11<>"";Feuil1!A11;"").

Je voudrais que lorsque après avoir fais ma VBA, si je fais une remise à zéro de la feuil1, les formules reviennent normalement sur la feuil2..

Merci d'avance

17test-vba.xlsm (109.84 Ko)

Bonjour Alpha faure le forum

bon alors j'ai viré ta macro et j'en ai fait une autre plus de formules

tu cliques thyro dans la feuille 2 et tu me redis

j'ai ramené les 10 colonnes de la feuille feuil1 mais je peux retirer des choses si tu veux

testes et redis moi

a+

Papou

20alpha-faure-v1.xlsm (81.89 Ko)

Bonjour Paritec,

J'essaye de comprendre toutes les lignes de ta macro mais c'est difficile étant débutant. Le principal c'est que j'ai compris le principe et ça fonctionne très bien!

ça devrait suffir pour l'application que j'en ai à faire, merci beaucoup.

Cordialement,

AlphaFaure

J'ai voulu remplacer le "With Feuil1" de la ligne 4 par un "With Planning-Copie" mais ça me met une erreur d’exécution "424" sur la ligne suivant "fin = .Range("A" & Rows.Count).End(xlUp).Row"

Sub DelThyro3()

Dim ws As Worksheet

Dim i&, aa, fin&, bb, y&, a&, x

With Feuil1

fin = .Range("A" & Rows.Count).End(xlUp).Row

If fin < 11 Then fin = 11

aa = .Range("A11:J" & fin)

End With

y = 1

ReDim bb(1 To 12, 1 To y)

For i = 1 To UBound(aa)

If aa(i, 1) <> "" And aa(i, 9) = "EPOX-MA-HEURE-THYRO" Or aa(i, 9) = "EPOX-MA-HEURE-MAKITA" Then

ReDim Preserve bb(1 To 12, 1 To y): a = 1

For Each x In Array(1, 2, 3, 4, 5, 6, 7, 8, 11, 12)

bb(x, y) = aa(i, a): a = a + 1

Next x

y = y + 1: a = 1

End If

Next i

Feuil2.Range("A11:L1000").ClearContents

Feuil2.Range("A11").Resize(UBound(bb, 2), UBound(bb)) = Application.Transpose(bb)

End Sub

Sub DelThyro3()

Dim ws As Worksheet

Dim i&, aa, fin&, bb, y&, a&, x

With Planning - Copie

fin = .Range("A" & Rows.Count).End(xlUp).Row

If fin < 11 Then fin = 11

aa = .Range("A11:J" & fin)

End With

y = 1

ReDim bb(1 To 12, 1 To y)

For i = 1 To UBound(aa)

If aa(i, 1) <> "" And aa(i, 9) = "EPOX-MA-HEURE-THYRO" Or aa(i, 9) = "EPOX-MA-HEURE-MAKITA" Then

ReDim Preserve bb(1 To 12, 1 To y): a = 1

For Each x In Array(1, 2, 3, 4, 5, 6, 7, 8, 11, 12)

bb(x, y) = aa(i, a): a = a + 1

Next x

y = y + 1: a = 1

End If

Next i

Feuil2.Range("A11:L1000").ClearContents

Feuil2.Range("A11").Resize(UBound(bb, 2), UBound(bb)) = Application.Transpose(bb)

End Sub

Bonjour Alpha faure le forum

tu as voulu remplacer c'est dans le même fichier??? c'est quoi Planning-Copie??,

c'est une feuille, le nom d'une feuille??

si oui

 with sheets("Planning-copie")

s i non bah explique ou envoie le fichier avec les éléments en question

a+

Papou

J'avais pas terminer d'écrire mon message et ça c'est envoyé..

En fait j'ai un autre fichier avec des données assez confidentielles. La feuil1 est nommée "Planning-Copie" et la feuil2 est nommée "THYRO" mais la mise en forme est la même. J'ai d'autres feuilles aussi, la "Planning-Copie" se trouve en position 7 et la feuille "THYRO" se trouve en position 9! Voilà je crois que c'est à peut-prêt tout.

J'ai quand même essayer de mettre whit sheets ("Planning-Copie"), le débogage se fait mais j'en ai un nouveau qui arrive dans les lignes du bas, à ce niveau là, j'ai remplacer Feuil2 par THYRO mais ça ne fonctionne pas..

Next i

Feuil2.Range("A11:L1000").ClearContents

Feuil2.Range("A11").Resize(UBound(bb, 2), UBound(bb)) = Application.Transpose(bb)

End Sub

Voilà tout paritec, merci

Re alpha faure le forum

oui alors c'est ce que j'avais écrit

with sheets("Planning-copie")

et si le code name de la feuil2 THYRO c'est le même que dans le premier fichier donc feuil2, tu laisses comme cela

le code name c'est le code de la feuille dans le vba et le name c'est le nom de l'onglet

a+

Papou

PS: redis moi si c'est OK

Re tout le monde,

C'est bon, j'ai compris le principe, il fallait juste que je mette comme tu m'as dis mais également dans les lignes du bas en remplaçant Feuil2 par Sheets("THYRO").

Merci paritec pour ton aide précieuse, ça m'aide énormément et me permet d'avancer dans mon projet,

Bonne continuation et à bientôt!

C'est encore moi, je viens de voir que lors de ta macro, cela me supprime les données dans la colonne I, or je ne veux pas supprimer cette colonne car elle contient une formule SOMME, je vais essayer de modifier votre macro pour arriver à mes fins.

Cordialement,

AlphaFaure

Re Alpha faure le forum

oui si tu penses y arriver pas de souci pour moi

Par contre regarde le fichier que tu avais mis dans le premier post tu n'as pas de formule dans la colonne I ni de la feuille 1 ni de la feuille 2???

a+

Papou

Re alpha faure le forum

autrement si tu n'y arrives pas tu remets le fichier avec les explications de ce qu'il faut rajouter ou obtenir comme résultat

avec des explications claires STP et précises

A+

Papou

Bonjour Papou, le forum,

Alors pour essayer de faire clair, sur ma feuil2, dans la colonne I j'ai une formule SOMME que je ne veux pas supprimer lorsque j'applique la macro. Or lorsque je lance la macro, toutes les données de ma colonne sont supprimées, y compris ma formule.

J'espère avoir été assez clair.

Merci d'avance

16test-vba.xlsm (79.24 Ko)

Re bonjour Alpha Faure le forum

ton fichier en retour avec ce que tu veux tu cliques THYRO et tu me redis

a+

Papou

14alpha-faure-v3.xlsm (81.31 Ko)

Re bonjour Alpha Faure le forum

ton fichier en retour avec ce que tu veux tu cliques THYRO et tu me redis

j'ai retiré la colonne M aussi !!!!!!

merci de vérifier si cela fonctionne , pour la V3 je suis sur mais celle là a tester.

a+

Papou

15alpha-faure-v4.xlsm (62.85 Ko)

Salut Papou et le forum,

Cela fonctionne très bien pour le moment, je te redis si ça ne fonctionne pas dans l'avenir! Merci beaucoup!

Bonne continuation

Rechercher des sujets similaires à "vba suppression ligne pas formules"