#Réf!

toubabou57300 Messages postés 23 Statut Membre -  
toubabou57300 Messages postés 23 Statut Membre -
Bonjour à tous,

Dans un fichier j'ai une feuille 1 et une feuille 10
Dans la feuille 10, la cellule "A94", contenant la formule suivante:
=Feuil1!$a12

le informations remplissant cette cellule se trouvant sur la feuille 1, dans un tableau, dans la cellule "A12".
Ce tableau est trié automatiquement par une macro. Lors de la suppression de toute une ligne de ce tableau (par le biais d'un UserForm), je reçois dans ma feuille 10 l'erreur suivante:
#Réf!

Pourriez vous m'aider à supprimer cette erreur ? Et donc de garder la formule initiale.

Merci par avance

Toubabou57300



A voir également:

5 réponses

Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 442
 
Bonjour
ça semble difficile,( mais je ne suis pas un cador en VBA loin de là), sauf à régénérer a, formule avec le macro
chaque fois que vous supprimez un =e ligne, la formule se décalé=e d'autant 12 devient A1 ect... et quand vus avez passé A1, c'est bien sur #REF qui s'affiche
une ruse pour contourner ce problème serait de ne pas supprimer de ligne avec la macro, mais de copier tout le tableau (voir plus, les lignes vides n'ont pas d'importance) en dessous de la ligne et de le coller sur la ligne à supprimer

crdlmnt
0
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
Bonsoir,

pas besoin de macro pour ça, si ta première formule est en ligne 2 et la première valeur à rapatrier est également en ligne A2 utilise cette formule

=INDIRECT("Feuil1!A"&LIGNE())


s'il y a un décalage de ligne il suffira d'ajouter ou ôter une valeur à l'index ligne exemple =INDIRECT("Feuil1!A"&LIGNE()+2)

et à partir de la tu peux supprimer tes lignes Feuil1, si tu rencontres des difficultés crée un fichier exemple et envoi le à partir de ce lien pour avoir une formule adaptée
https://www.cjoint.com/
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
toubabou57300 Messages postés 23 Statut Membre
 
Bonsoir à tous,

Désolé cela ne fonctionne pas. Lorsque je rentre votre formule il va me chercher une information dans la 95ème cellule!!!!

Je vous joint mon fichier

Identifiant: Administrateur
MP: 0

Dans l'UserForm "SIGNALÉTIQUE", sélectionner une personne, puis supprimer.
Ensuite dans la feuille LUTIN la personne est supprimé mais pas dans "SYNTHÈSE"

Je ne suis pas sûr d'être très clair

http://www.cjoint.com/c/ELvthhjmXPb

Merci par avance

Toubabou57300
0
Mike-31 Messages postés 19571 Date d'inscription   Statut Contributeur Dernière intervention   5 138
 
Re,

plusieurs problèmes sur ta feuille SIGNALETIQUE tu recherches un nom exemple ALDO ensuite sur tes feuilles LUTIN et Synthèse en colonne A tu as le nom et le prénom, il faut faire un choix, ensuite avec ton code il faudrait rechercher sur des valeurs saisies pas le résultat de formule

si sur chaque feuille en A tu saisis uniquement le nom exemple ALDO en remplaçant ces lignes de code
Sheets("SIGNALETIQUE").Rows(Box1.ListIndex + 2).Delete Shift:=xlUp
Worksheets("LUTIN").Rows(lig_HE + 10).Delete Shift:=xlUp

par
Sheets("Synthèse").Select
Range("A" & Sheets("Synthèse").Columns(1).Find(Box1.Text, , , xlWhole, xlByColumns, xlPrevious).Row).EntireRow.Delete
Sheets("LUTIN").Select
Range("A" & Sheets("LUTIN").Columns(1).Find(Box1.Text, , , xlWhole, xlByColumns, xlPrevious).Row).EntireRow.Delete
Sheets("SIGNALETIQUE").Select
Range("A" & Sheets("SIGNALETIQUE").Columns(1).Find(Box1.Text, , , xlWhole, xlByColumns, xlPrevious).Row).EntireRow.Delete

ton code doit fonctionner
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toubabou57300 Messages postés 23 Statut Membre
 
Bonjour MIKE-31,

Un petit soucis lorsque je modifie le code, je reçois le message d'erreur suivant:


Sheets("Synthèse").Select
Range("A" & Sheets("Synthèse").Columns(1).Find(Box1.Text, , , xlWhole, xlByColumns, xlPrevious).Row).EntireRow.Delete
Sheets("LUTIN").Select
Range("A" & Sheets("LUTIN").Columns(1).Find(Box1.Text, , , xlWhole, xlByColumns, xlPrevious).Row).EntireRow.Delete
Sheets("SIGNALETIQUE").Select
Range("A" & Sheets("SIGNALETIQUE").Columns(1).Find(Box1.Text, , , xlWhole, xlByColumns, xlPrevious).Row).EntireRow.Delete



Tous les ==> Range("A &........... sont surligné en jaune

Merci


Toubabou57300
0