supprimer ligne contenant "=Saisie!#REF!"

gorgo

XLDnaute Nouveau
bonjour a tous je suis nouveau sur le forum....et en grande partie en VBA :)voila je voudrais pouvoir supprimer les lignes qui ont dans la colonne A la valeur "=Saisie!#REF!" . Merci d'avance pour vos lumiéres j ai essayé de voir avec les posts déja existants mais les macros que j ai adapté présentent toujours une erreur: exemple:

Sub supp_lig()

Sheets("Transport").Select
For r = [A65536].End(xlUp).Row To 1 Step -1
If Range("A" & d) = "=Saisie!#REF!" Then
Range("A" & d).EntireRow.Delete
End If
Next
End Sub

Voila merci pour vos lumiéres...
 

pierrejean

XLDnaute Barbatruc
Re : supprimer ligne contenant "=Saisie!#REF!"

bonjour gorgo

et bienvenue sur XLD

A tester:
Code:
Sub supp_lig()

Sheets("Transport").Select
For r = [A65536].End(xlUp).Row To 1 Step -1
If Instr(Range("A" & r).formula,"=Saisie!") >0 And isError(Range("A" & r).Value Then
Rows(r).Delete
'If Range("A" & d) = "=Saisie!#REF!" Then
'Range("A" & d).EntireRow.Delete
End If
Next
End Sub

note: j'ais supposé que le d de Range("A" & d) est une faute de frappe
 

gorgo

XLDnaute Nouveau
Re : supprimer ligne contenant "=Saisie!#REF!"

merci PierreJean de l'intérét que tu portes à mon post je viens d essayer mais il y a un probléme sur la ligne Sub supp_lig() j ai un bug ou c marqué Erruer de compilaion, erreur de syntaxe. d'ou ça peut venir???
deuxiéme question pour mon apprentissage personnel la lettre "r" dans la ligne For r = [A65536].End(xlUp).Row To 1 Step -1 correspond à quoi?
 

pierrejean

XLDnaute Barbatruc
Re : supprimer ligne contenant "=Saisie!#REF!"

Re

il manquait une parenthese !!

teste ceci (avec commentaires)

Code:
Sub supp_lig()
'selection de la feuille Transport
Sheets("Transport").Select
'on fait varier r du numero de la derniere ligne remplie de la colonne A a 1 par pas de -1
For r = [A65536].End(xlUp).Row To 1 Step -1
' si la formule contient =Saisie! et si cette formule aboutit a une erreur alors
If InStr(Range("A" & r).Formula, "=Saisie!") > 0 And IsError(Range("A" & r)).Value Then
'on supprime la ligne de numero r
Rows(r).Delete
End If
Next
End Sub
 

gorgo

XLDnaute Nouveau
Re : supprimer ligne contenant "=Saisie!#REF!"

merci pour ces explications qui sont mes premiers vrais cours (j ai bien 2 bouquins sur le sujet mais plutot difficile d accés). Par contre j ai toujours une erreur sur la ligne Sub DeleteLine() (j ai remplacé le nom de la macro initiale supp_lig) voici le message:erreur de compilation qualification incorrecte. J ai essayé avec le nom initiale pour etre sur que ça venait pas de ça et ça ne marche pas non plus.

Je vais préciser mon projet. Je fais une base de données de produits d importation. J ai une premiére feuille de saisie qui aboutie ensuite sur 5 autres feuilles qui calculent diverses choses (prix, volume etc..). Sur ma feuille de saisie j ai crée un tableau.J ai fait une macro qui me crée automatiquement sur les autres feuilles une nouvelle ligne (mais les autres feuilles n ont pas de tableau juste des cellules). Mon probléme c est que si je supprime une ligne de ma feuille de saisie la valeur REF# apparait sur les autres feuilles et du coup évidemment tout est décalé. Donc je voudrais une macro qui me permettent de supprimer l ensemble des lignes de toute les feuilles. Les lignes de chaque feuille sont alignés sur le méme numéro. L autre solution que j essayer de faire c'était de pouvoir supprimer les lignes avec REF# afin de ne pas avoir de décalage de ligne.
J espére avoir été plus explicite mais j ai un doute :)
En tout cas je cmprends bien la logique de ta macro ce que je comprends pas c est ce message d erreur^^
 

pierrejean

XLDnaute Barbatruc
Re : supprimer ligne contenant "=Saisie!#REF!"

Re

1er point
Je suis en Excel 2000 et non en 2007
peut-etre y a t'il une subtilité qui m'echappe avec 2007
2eme point
Il est toujours tres difficile d'imaginer le contexte d'une macro
peux-tu realiser un fichier exemple (sans données confidentielles ) montrant le probleme
Attention enregistrer en .xls
 

gorgo

XLDnaute Nouveau
Re : supprimer ligne contenant "=Saisie!#REF!"

Apparemment c est le terme IsError qui pose probléme. J essaye de simplifier la commande je me demandais si une macro de ce type pourrait fonctionner:
Sub DeleteLine()
Sheets("Transport").Select
For r = [A65536].End(xlUp).Row To 1 Step -1
If (Range("A" & r) = "=Saisie!#REF!") Then
Rows(r).Delete
End If
Next
End Sub

mais la sur la ligne If j ai une erreur d'éxécution 13: incompatibilité de type

tu veux que je t envoie mon fichier excel?pour l instant il n y a aucune donnée, je fais juste des essais. Par contre j arrive pas a diminuer suffisamment la taille du fichier pour te l envoyer....49,9 :/ je peux te l envoyer par mail si tu veux?
 

jeanpierre

Nous a quitté
Repose en paix
Re : supprimer ligne contenant "=Saisie!#REF!"

Bonsoir gorgo, PierreJean,

Peut-être qu'un petit ZIP ferait fort bien, sinon un kilo de données superflues peut rapidement être trouvés...

Bonne soirée et meilleurs voeux à tous.

Jean-Pierre
 

gorgo

XLDnaute Nouveau
Re : supprimer ligne contenant "=Saisie!#REF!"

bon week end à toi et merci pour ta patience ...ci joint le fichier en zip. en attendant de vos nouvelles!
 

Pièces jointes

  • Calcul produit final test 2007xls.zip
    18.7 KB · Affichages: 65
  • Calcul produit final test 2007xls.zip
    18.7 KB · Affichages: 73
  • Calcul produit final test 2007xls.zip
    18.7 KB · Affichages: 66

pierrejean

XLDnaute Barbatruc
Re : supprimer ligne contenant "=Saisie!#REF!"

bonsoir

salut jeanpierre

Avec mes plus plates excuses
La parenthese , je l'avais remise mais au mauvais endroit !!!

Code:
Sub deleteline1()
'selection de la feuille Transport
Sheets("Transport").Select
'on fait varier r du numero de la derniere ligne remplie de la colonne A a 1 par pas de -1
For r = [A65536].End(xlUp).Row To 1 Step -1
' si la formule contient =Saisie! et si cette formule aboutit a une erreur alors
If InStr(Range("A" & r).Formula, "=Saisie!") > 0 And IsError(Range("A" & r).Value[COLOR=red]) [/COLOR]Then
'on supprime la ligne de numero r
Rows(r).Delete
End If
Next
 

Pièces jointes

  • Calcul produit final test 2007xls.zip
    17.4 KB · Affichages: 72
  • Calcul produit final test 2007xls.zip
    17.4 KB · Affichages: 76
  • Calcul produit final test 2007xls.zip
    17.4 KB · Affichages: 86

gorgo

XLDnaute Nouveau
Re : supprimer ligne contenant "=Saisie!#REF!"

Merci beaucoup ça marche super! Merci encore PierreJean et JeanPierre pour votre rapidité votre gentilesse et votre savoir faire! humblement à charge de revanche (dans d aures domaines de mon coté car je pense que j ai encore beaucoup de chemin pour arriver a votre niveau de connaissance) :)
 

Discussions similaires

Statistiques des forums

Discussions
311 735
Messages
2 082 023
Membres
101 873
dernier inscrit
excellllll