Macro de copie
Bonjour,
Complètement novice dans la création de macro, je recherche des piste pour commencer.
Mon objectif et de copier le contenue uniquement ( sans mise en forme ) de cellules d'une feuille de travaille sur une autre qui me servirait de base de donner (dans le même classeur )
j'aimerai que la copie se fasse en activant le macro sur la feuille de travaille ( par un bouton par exemple ), et que cella se copie automatiquement a la suite (par ligne) sur la feuille de bd.
C'est assez dur a expliquer, donc je joint mon fichier.
Exemple =
copie de "E4" de la feuille "RCP" sur la première cellule vide de la colonne "A" de la feuille "BD"
copie de "C18" de la feuille "RCP" sur la première cellule vide de la colonne "B" de la feuille "BD"
Etc... Pour avoir la recette sur 1 ligne.
Et pour simplifier le tout : Il n'y a en tout 8 arômes et certain peuvent ne pas être utiliser, dans se cas, j'aimerai que
la cellule reste vide, et quelle le reste a la prochaine copie.
Quelle formulation je pourrait utilisée pour :
1 - sélectionner et copier sur la feuille RCP
2 - Sélectionner la cellule d'une colonne définie de la première ligne vide et coller sans la mise en forme sur la feuille BD
Merci de votre aide, j'espère avoir été assez claire dans mes explication.
bonjour
comme tant d'autres ici, tu voudrais un "formulaire"
Excel n'est pas bien pour un vrai formulaire comme dans un progiciel
donc, créer un onglet unique :
- nomrecette
- ingrédient
- quantité
- propriété
- etc.
une recette tiendra sur plusieurs lignes
tu auras des centaines de lignes
! chaque ligne contient nomrecette !
ensuite tu filtres sur la colonne nomrecette pour voir ta recette
et tu fais des TCD pour avoir des calculs par recette
note : des données standard des ingrédients (calories, prix... ) peuvent être rapatriées dans ton onglet avec des RECHERCHEV
essaye et reviens avec un exemple simplifié
Bonjour Jmd, et merci de ta réponse.
J'ai déjà penser a utiliser un formulaire ainsi qu'une base de donner sous Access aussi, je doit d’ailleurs avoir quelque tentative de se projet qui traîne sur mon ordi.
J'ai abandonner car sa ne correspondez pas a se que je recherche.
La feuille RCP me sert aussi de support pour la création de recette, elle me permet de quantifier ml d’arôme en fonction d'un % et de le modifier aisément selon plusieurs facteur. Chose que je n'ai pas réussi a faire avec un formulaire de saisie.
J'ai trouvez une solution a mon problème en simplifiant les tache a faire par la macro :
- Dans l'onglet "BD", j'ai rempli la ligne 3 avec les correspondance que je souhaite venant de la feuille "RCP" a l'aide de formule.
- J'ai ensuite fait une macro qui insert une ligne, et copie les valeur de la ligne 3 dessus ( avec l'enregistrement de macro )
- Et pour finir j'ai masquer la ligne 3.
Voila la macro faite par l'enregistreur :
Sub CopieRCP()
'
' CopieRCP Macro
'
'
Sheets("BD").Select
Rows("4:4").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
Rows("3:3").Select
Selection.Copy
Rows("4:4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("RCP").Select
End Sub
Le code et bourrer de " .select ", sa marche très bien, mais y a t'il un moyen de simplifier le code ?
Merci encore
Bonsoir,
Sub TftBD()
Dim lnBD(35), i%, ii%, k%, kk
With Worksheets("RCP")
lnBD(0) = .Cells(4, 5)
kk = Array(3, 13, 5, 10)
For i = 1 To 29 Step 4
ii = i \ 4 + 18
If .Cells(ii, 5) = "" Then Exit For
For k = 0 To 3
lnBD(i + k) = .Cells(ii, kk(k))
Next k
Next i
kk = Array(8, 10, 5)
For k = 0 To 2
lnBD(33 + k) = .Cells(39, kk(k))
Next k
End With
With Worksheets("BD")
i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Cells(i, 1).Resize(, 36) = lnBD
End With
End Sub
Procédure pour opérer le transfert des valeurs sur la BD, sur la première ligne libre (sans insertion de ligne).
A raccorder à un bouton...
Pour bien faire il faudrait compléter par l'effacement des données venant d'être transférées. Pas de problèmes pour C18:I25, ni pour E4:N4, mais pour les lignes 12 à 14 H12 contient une formule alors que H13 non, je m'abstiens. Mais cela reste facile à ajouter.
NB- Et efface ton code !
Cordialement.
Merci Beaucoup !
Sa fonctionne parfaitement ! même si je suis a 1000 lieux de comprendre le code !
Bravo.