#Réf!
Fermé
toubabou57300
Messages postés
18
Date d'inscription
vendredi 3 mai 2013
Statut
Membre
Dernière intervention
16 mai 2016
-
Modifié par toubabou57300 le 21/12/2015 à 14:30
toubabou57300 Messages postés 18 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 16 mai 2016 - 22 déc. 2015 à 13:11
toubabou57300 Messages postés 18 Date d'inscription vendredi 3 mai 2013 Statut Membre Dernière intervention 16 mai 2016 - 22 déc. 2015 à 13:11
5 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 395
21 déc. 2015 à 15:09
21 déc. 2015 à 15:09
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
ç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
Mike-31
Messages postés
18309
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 mars 2024
5 072
Modifié par Mike-31 le 21/12/2015 à 16:55
Modifié par Mike-31 le 21/12/2015 à 16:55
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
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.
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.
toubabou57300
Messages postés
18
Date d'inscription
vendredi 3 mai 2013
Statut
Membre
Dernière intervention
16 mai 2016
21 déc. 2015 à 20:10
21 déc. 2015 à 20:10
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
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
Mike-31
Messages postés
18309
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 mars 2024
5 072
21 déc. 2015 à 22:29
21 déc. 2015 à 22:29
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
toubabou57300
Messages postés
18
Date d'inscription
vendredi 3 mai 2013
Statut
Membre
Dernière intervention
16 mai 2016
22 déc. 2015 à 13:11
22 déc. 2015 à 13:11
Bonjour MIKE-31,
Un petit soucis lorsque je modifie le code, je reçois le message d'erreur suivant:
Tous les ==> Range("A &........... sont surligné en jaune
Merci
Toubabou57300
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