Boucle vba pour remplir colonnes excel
Bonjour,
J'ai un tableau excel pour lequel je dois utiliser toutes les lignes(65536).
Mon problème est que j'avais créé une formule recherche pour remplir ma colonne mais l'ordinateur n'arrive pas à suivre et plante à chaque fois.
Je cherche quelle formule il faut utiliser pour que si ma ligne a une valeur > 0 dans la colonne A alors dans la colonne P j'utilise la fonction suivante
Code:
=SI(OU(A2="";ESTNA(RECHERCHEV(A2;docdest;3;0)));"";RECHERCHEV(A2;docdest;3;0))
alors mettre la valeur et si la valeur dans la colonne A est = 0 alors la boucle s'arrête.
Je dois remplir 26 colonnes de cette façon.
A moins que quelqu'un ait une autre solution beaucoup plus efficace à me proposer et surtout plus rapide...
En plus de ce soucis de plantage à cause du poids des infos, j'ai un problème de format de données.
Ma table docdest est un copier/collage spécial avec liaisons d'un autre fichier mais le problème est que ma formule me donne des messages d'erreur #N/A parce que certaines données de ce tableau sont des chiffres au format lettre (j'ai voulu convertir tout le tableau mais il y a aussi des données lettres dedans alors je peux pas).
J'ai essayé de faire un copier/collage spécial : valeur mais ça marche pas non plus.
Comment dois-je faire pour ne plus avoir de message d'erreur ?
Merci
SOS !!!! toujours problème !
J'ai aussi résolu le problème de l'affichage du résultat. Mai là je viens de lancer ma macro juste sur la première colonne ( P) et l'ordi met au moins 10 minutes à effectuer ma fonction recherche avec la boucle. connaissez-vous un moyen pour que cela ne prenne que quelques secondes parce que j'ai encore 26 colonnes à renseigner de la même façon et le but des macros étant quand même d'accélérer les manip, là ça vaut pas le coup. Mais j'en ai vraiment besoin...
application de la formule de Krovax
Merci pour le lien, très instructif et pour tes explications. Juste une question, au lieu de ne plus avoir de données dans ma colonne A ce sont des 0 qui apparaissent, c'est pour ça que j'ai mis un = 0 pour mon elseif :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 12334
12335
12318
12319
12320
12321
12322
0
0
0
0
0
0
0
0
0 |
Est-ce que je peux quand même utiliser la formule que tu m'as donnée ?