Résolu Incrémentation/rechercheV avec VBA

  • Auteur de la discussion Elchoz
  • Date de début

Elchoz

Nouveau membre
Bonjour,

Je suis débutant sur VBA et j'ai quelques soucis a réalisé un programme.

j'ai le tableau suivant :



je dois réalisé le même tableau mais sous VBA

Le soucis c'est que je n'arrive pas a faire les rechercheV (Cellules A1 B3 et B4)
Je ne vois pas comment faire une rechercheV sur un autre onglet et si je peux utiliser les nom que j'ai donné dans le formulaire de nom.


J'ai réalisé un test sans grand succes..

Sub Test()
Range("B2").Value = Application.WorksheetFunction.VLookup(Range("A1").Value, Range("Fonctions contrainte"), 2, False)
End Sub

le dexième problème c'est que je dois faire un progragrame qui dois copié et incrémenter le tableau pour tout les identidfiant (Cellule A1) et jusqu'à que l'ID atteint une certaine valeur.

Merci pour votre aide !
 

drul

Obscur pro du hardware
Staff
Salut, pas clair ...
"Fonctions contrainte" c'est un nom que tu as donné a une plage de cellule ?
Pour travailler sur plusieurs onglet en VBA, il est impératif de TOUJOURS préciser à quel feuille appartient une range
Sheets("Feuille1").Range("A1")
Pour la copie je ne comprend pas ce que tu désires faire ...
 

Elchoz

Nouveau membre
Alors pour la copie je veux reproduire le tableau (comme si je fesais un gilssé dépossé) et que les recheches s'effectue de la même façon

exemple:


sur la ligne A3 du 2ème tableau je fais une rechercheV sur la ligne en dessous de la recherche en A1 (je sais pas si je suis clair
:/)

et je veux répélaction jusqu'à atteindre un certain identifiant (un whyle je pense)

et pour la rechercheV:

"fonctions contriante" c'est le non de la plage de cellule éffectivement

Je présise à quel moment à quel feuille appartient la range ?

Merci pour ta réponse.




 

drul

Obscur pro du hardware
Staff
D'accord pour la copie, mais tu trouves les donnés ? (sur ton exemple 3 champs changent ...)
Un petit printscreen de la page contenant "fonctions contriante" serait pas de refus.
Essaie de poser étape par étape ce que tu veux que ton code fasse.

exemple:
1 copie n fois le tableau
2 Met à jour l'indice dans chaque tableau
3 recherche sur la feuille toto l'information ...
4 ...
 

Elchoz

Nouveau membre
alors je t'es fais une copie du tableau la voici :



pour toutes les cellules qui change je fait un rechercheV mais pour la ligne du dessous dans l'onglet "fonction contrainte"

Merci :)
 

drul

Obscur pro du hardware
Staff
Je commence à voir le truc, mais fait le plan de ce que tu désire faire, le plus précisement possible
 

Elchoz

Nouveau membre
alors je vais essayer :

j'ai le tableau 1 dans l'onglet "fonction contraine"


(il est beacoup plus long)

mon objectif c'est de recupérer certaines infos dans le tableau 1 et le les mettres dans des petits tableaux dans un autre onglets pour chaques ID.

comme ici:


ici j'ai besoin de colonnes ID, fonction contrainte, seui 1 ou 2 , commentaire et shéma.

et je dois répété l'action n fois jusqu'à ateindre le nombre total d'ID

j'èspère que j'ai été plus claire :D
 

drul

Obscur pro du hardware
Staff
Quand tu donnes des exemples essaye de les rendre cohérents, ça permet de mieux s'y retrouver.
Je ne vois toujours pas de plan de se que tu veux faire, pas à pas ...

Bon je vais partir en week-end là, on reprend lundi si tu le veux ... (relance moi)
 

Elchoz

Nouveau membre
Ce que je vais faire c'est t'expliqué comment je fais sans VBA

A1 ='Fonctions contraintes'!B2
B1='Fonctions contraintes'!E2
A2=SI('Fonctions contraintes'!H2=NON";RECHERCHEV('Creation Engine Handbook'!B1;Fonctionscontraintes;6;FAUX);RECHERCHEV('Creation Engine Handbook'!B1;Fonctionscontraintes;7;FAUX))
B3=RECHERCHEV(B1;Fonctionscontraintes;9;FAUX)
B4=RECHERCHEV(B1;Fonctionscontraintes;11;FAUX)
(création hanbook est le nom du 2ème onglet)
B5 saut de ligne..

ensuite le tableau dois être répété avec la même méthode
A6='Fonctions contraintes'!B3
B6='Fonctions contraintes'!E3
A7=SI('Fonctions contraintes'!H3=NON";RECHERCHEV('Creation Engine Handbook'!B6;Fonctionscontraintes;6;FAUX);RECHERCHEV('Creation Engine Handbook'!B6;Fonctionscontraintes;7;FAUX))
B8=RECHERCHEV(B6;Fonctionscontraintes;9;FAUX)
B9=RECHERCHEV(B6;Fonctionscontraintes;11;FAUX)
(création hanbook est le nom du 2ème onglet)
B10 saut de ligne..

puis répété le processus jusqu'à arrivé à l'ID ligne 900 dans l'onglet 'fonction contrainte'

J'espère que tu comprendra bon weekend.
 

drul

Obscur pro du hardware
Staff
Ok, donc maintenant je te propose de laisser excel travailler, fait à la main une fois la manœuvre avec l'enregistreur de macro actif, puis publie ici, ça nous donnera une base de travail (y aura pas mal de nettoyage à faire...)
 

Elchoz

Nouveau membre
je vois pas trop ça correspond à quoi, c'est pas un style de référence ?
 

drul

Obscur pro du hardware
Staff
Plus ou moins, mais j'ai juste pas l'habitude de travailler avec ...
Par contre je manque un peu de temps là ... je regarde quand j'ai un moment.
 

Elchoz

Nouveau membre
Meilleure réponse
Je pense qu'il a moyen de faire plus simple.

Exemple:

dans la feuil1 il y a succestivement dans la colone A : A B C D E F
l'objectif est de repéter ligne par ligne la feuil1 mais avec des espacements
A->*saut de 5 lignes* B-> ect...
Puis il suffit de faire un code qui met en forme les tableaux.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 985
Membres
1 586 385
Dernier membre
beep84
Partager cette page
Haut