Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
bonjour le fil
j'ai un problème dans la macro ci-joint
il me copie dans l'onglet "masque de saisie" la cellule (E4) dans l'onglet "RECAP"
mais de problème c'est que dans la cellule E4 j'ai une Formule (D7+D8).
STAPLE1600 m'a mis sur une piste (d'utilisé l'enregistreur de la macro)=masquedesaisie!D7+D8
mais je ne sais pas ou la mettre dans l'écriture ci-dessous
pouvez vous m'aider
Cdlt
Picronte
Dans ton fichier, la formule est bien copiée sur les lignes successives, à chaque lancement de "Saisie" et avec des références relatives ; je ne vois pas ce qui ne va pas...
bonjour
quand je rempli les cellules du masque de saisie .il ne copie pas tout dans recap^
toutes les cellules du masque de saisie qui a une formule ne fonctionne pas
merci de me dire pourquoi
Cdlt
picronte
re bonjour
ci-joint mon dernier essai je n'arrive toujours pas a copie les cellule E dans recap
je suis dessus depuis hier et je n'arrive pâs a trouver la solution
merci pour votre aide
picronte
Je vois plusieurs erreurs :
- Tu n'utilises pas les balises (icone #)
- Tu utilises Select/Selection
Code:
Range("D4:D12").Select
Selection.ClearContents
peut être écrit :
Code:
Range("D4:D12").ClearContents
Après, comme je n'ai pas tout relu (honte à moi), je ne suis pas sûr. Mais pour ma propre logique, ça donnerait :
Code:
Sheets("RECAP").Range("K65536").End(xlUp).Offset(1, 0).Formula = "='masque de saisie'!E4"
inscrire dans la première cellule vide de K de la feuille RECAP une formule donnant la copie de la cellule E4 de la feuille "masque de saisie". Donc, si on change la valeur de E4, ça changera la valeur dans la feuille RECAP => me semble pas très logique, je mettrais plutôt :
Code:
Sheets("RECAP").Range("K65536").End(xlUp).Offset(1, 0) = sheets("masque de saisie").Range("E4")
Qui archive la valeur de E4 de "masque de saisie" dans la première cellule vide de la colonne K de la feuille RECAP. Mais ce n'est qu'une opinion personnelle.
Dans le même ordre d'idée, je déterminerais une colonne qui devrais toujours être remplie, et c'est elle qui me fournirait ma référence de ligne pour toutes les colonnes. le but étant qu'une ligne corresponde à une saisie, même si toutes les cellules ne sont pas remplies
Code:
Sub saisie()
Dim X as long
'recherche de la ligne de référence ---------------
x= Sheets("RECAP").Range("K65536").End(xlUp).row+1
'Recopie sur la ligne de référence -----------------
Sheets("RECAP").Range("K" & x) = sheeets("masque de saisie").range("E4")
Sheets("RECAP").Range("L" & x) = sheeets("masque de saisie").range("E8")
Sheets("RECAP").Range("M" & x) = sheeets("masque de saisie").range("E9")
Sheets("RECAP").Range("N" & x) = sheeets("masque de saisie").range("E10")
Sheets("RECAP").Range("A" & x) = sheeets("masque de saisie").range("D3")
Sheets("RECAP").Range("C" & x) = sheeets("masque de saisie").range("D5")
Sheets("RECAP").Range("B" & x) = sheeets("masque de saisie").range("D4")
Sheets("RECAP").Range("D" & x) = sheeets("masque de saisie").range("D6")
Sheets("RECAP").Range("E" & x) = sheeets("masque de saisie").range("D7")
Sheets("RECAP").Range("F" & x) = sheeets("masque de saisie").range("D8")
Sheets("RECAP").Range("G" & x) = sheeets("masque de saisie").range("D9")
Sheets("RECAP").Range("H" & x) = sheeets("masque de saisie").range("D10")
Sheets("RECAP").Range("I" & x) = sheeets("masque de saisie").range("D11")
Sheets("RECAP").Range("J" & x) = sheeets("masque de saisie").range("D12")
'effacement de la saisie -----------------
sheeets("masque de saisie").Range("D4:D12").ClearContents
End Sub
Mais ce n'est qu'une vision personnelle déduite du dernier poste.
A+
bonjour Gorfael
j'ai essaye ton ecriture
mais sa ne fonctionne toujours pas
merci de le faire a ma place car je suis dessus depuis hier et je vous avoue que j'en est marre
ci-joint le fichier
Cdlt picronte
à voir (pas compris donc pas touché aux formules de calculs en feuille de saisie; les revoir au besoin et actualiser la macro pour la feuille RECAP au niveau de la colonne M)
bonsoir FO_RUM
il me manque juste qu'a chaque saisie dans le masque il me mette a suivre dans recap et non effacé la saisie d'avant, pour que je puisse faire un tableau croisé afin de vérifier la conso de l'ordinateur par rapport au réelle
merci de ton aide
picronte
normal que les cellules de destination renvoies une erreur car la formule doit changer à l'arriver...
Voici le bon code:
Code:
Sub saisie()
Dim X As Long
'recherche de la ligne de référence ---------------
X = Sheets("RECAP").Range("K65536").End(xlUp).Row + 1
'Recopie sur la ligne de référence -----------------
Sheets("RECAP").Range("K" & X).FormulaLocal = "=SI(B" & X & " ="""","""",RECHERCHEV(B" & X & ",LISIEUX,2,Faux))"
Sheets("RECAP").Range("L" & X).Formula = "=E" & X & "+F" & X & ""
Sheets("RECAP").Range("M" & X).Formula = "=G" & X & "*100/L" & X & ""
Sheets("RECAP").Range("N" & X).Formula = "=(((H" & X & "*E" & X & ")/100)+(I" & X & "*F" & X & ")/100)*100/L" & X & ""
Sheets("masque de saisie").Range("D3:D12").Copy
Sheets("RECAP").Range("A" & X & ":J" & X).PasteSpecial Transpose:=True
'effacement de la saisie -----------------
Sheets("masque de saisie").Range("D4:D12").ClearContents
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD