Ecriture VBA avec Boucle

Bonjour le Forum,

Je suis novice avec VBA et j'ai besoin de votre aide.

J'ai un fichier excel 2007 sur lequel il y a deux feuilles, la première "BDD FA" et la deuxième "Création"

BDD FA comporte des colonnes de A à Y

Création de A à Q.

Les colonnes de "Création" ont le même nom que les colonnes de BDD FA mais ne sont pas toutes présentes.

J'aimerai que l'utilisateur puisse compléter chaque colonne de Création et en appuyant sur un bouton, ces informations soient réparties dans les colonnes respectifs de BDD FA.

Voici ce que j'ai écrit, mais cela ne fonctionne absolument pas.

Sub creer()

For valcherh = A1 To Q1
For Each valcherch In ActiveWorkbook.Sheets("BDD FA").Range("A1:Y1")
valcherch = ActiveCell.Row
Cells(2, valcherch).Select
ActiveSheet.Copy
Sheets("BDD FA").Select
Cells.Find("*", , , , xlByRows, xlPrevious).Select
   ActiveCell.Offset(1, 0).Select
   Ligne = ActiveCell.Row
   Cells(Ligne, valcherch).Select
ActiveSheet.Paste
Sheets("Création").Select
Application.CutCopyMode = False
Next
Next
End Sub

Donc pour résumer, j'aimerai que la macro identifie le nom des colonnes de "Création", copie le valeur située sur la deuxième ligne et la colle dans la colonne portant le même nom dans BDD FA et dans la ligne vide la plus basse.

En espérant être assez clair.

Merci d'avance

Bonjour et bienvenue sur le forum

Tu écris :

J'ai un fichier excel 2007 sur lequel il y a deux feuilles, la première "BDD FA" et la deuxième "Création"

Il serait plus facile de te proposer quelque chose si tu joingnais ce fichier.

A te relire.

Bye !

Bonjour,

Déjà merci de te pencher sur mon problème.

Je t'ai mis le fichier un peu simpliste mais je n'ai pas la version récente sous la main.

Pour accéder au fichier clique sur "Lancer l'interface" puis sélectionne "Libre accès".

En espérant que tu comprennes ma requête

26interface.xlsm (34.93 Ko)

Un essai à tester. Te convient-il ?

Bye !

16interface-v1.xlsm (36.19 Ko)

Salut Gmb,

C'est exactement ca ! Par contre est-ce possible de rajouter une ligne de code je ne sais pas où.

'Cells.Find("*", , , , xlByRows, xlPrevious)

Qui d'après moi détermine la dernière ligne vide. Car il se peut que certaines lignes soient remplies sans utiliser "Création"

Or lorsque je crée ma ligne dans "Création", elle supprime les valeurs qui se situaient sur la ligne en dessous de la dernière création et les remplace par la nouvelle.

Merci encore !

Bonjour

Désolé mais je ne comprends pas tes explications.

Je ne peux donc pas te satisfaire...

Bye !

Bonjour,

J'up cette discussion car j'ai un second problème.

Maintenant que la création fonctionne, j'aimerai qu'il soit possible de reprévoir certaines valeurs à l'aide d'une autre feuille.

Vous allez le voir dans le fichier ci-joint, l'onglet "Création" permet d'ajouter une ligne dans "BDD FA" selon le nom des colonnes.

L'onglet "Reprévision" doit permettre d'ajouter une ligne dans "BDD Reprévision" mais aussi de modifier les valeurs correspondantes aux noms des colonnes sur la ligne avec le même "N° FA" dans "BDD FA".

En espérant être assez clair.

Merci

11classeur2.xlsm (87.24 Ko)
Rechercher des sujets similaires à "ecriture vba boucle"