• Initiateur de la discussion Initiateur de la discussion Booba
  • Date de début Date de début

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 !

B

Booba

Guest
Bonjour a tous,
J' ai un petit prblm pour un projet sous excel, je vous explique:
J'ai 2 feuilles:
- feuil1 avec de A6 à Axx avec les dates du 1/1/03 au 31/12/03
-feuil2 avec en A6 la date du jour (aujourdhui())
et de B6 à V6 une zone de saisie reserve au utilisateur$
Mon but est que les users saisissent sur la feuille 2 et que les données rentrées soit copiées sur la feuille 1 en fonction de la date bien entendus...
J'arrive a le faire pour une valeur en B6 mais le prblm si je met le code pour des valeurs superieurs (ex g6) alors la valeur viendra remplir les cellule precedente.....
Voila mon code pour une valeur (fonctionnel)
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$B$6" Then Exit Sub
Sheets("Feuil2").Range("B" & [match(A6,Feuil2!A6:A65536,0)] + 5) = zz.Value
End Sub

Mais si quelqu'un connait une solution pour l'etendre au cellule voisine et que chaque saisie soit independante...
En vous remerciant d'avance pour l'aide que vous pourriez m'apporter.
Bonne reception et à charge de revanche!!
@+
@lex
 

Pièces jointes

Bonjour,

avec [match(A6,Feuil2!A6:A65536,0)] + 5 tu recupère la ligne dans feuil2

il faut maintenant il faut trouver la premiere cellule vide dans la ligne

l=[match(A6,Feuil2!A6:A65536,0)] + 5
c=1
while isempty(cells(l,c))=false
c=c+1
wend
Sheets("Feuil2").cells(l,c)= zz.Value

a voir .....
 
MErci de ton aide,
cependant j'ai pas grande experience en vb et c'est un peu chaud, je viens de le mettre en place comme je l'ai compris et ca ne passe pas
Private Sub Worksheet_Change(ByVal zz As Range)
'If zz.Address <> "$C$6" Then Exit Sub
'Sheets("feuil2").Range("C" & [match(A6,feuil2!A6:A65536,0)] + 5) = zz.Value
l = [match(A6,feuil2!A6:A65536,0)] + 5
c = l
While IsEmpty(Cells(l, c)) = False
c = c + l
Wend
Sheets("feuil2").Cells(l, c) = zz.Value

End Sub


Je ne dois pas rentrer le code convenablement....
Bon je persevere et je teste differentes possibilités🙂)
Si jamais quelqu'un voit une soluces je suis a l'ecoute!!
Meme d'une maniere differente!!
En te remerciant de ton post qui me permet d'avancer!!
@++
@lex
 
Bonjour le forum

Booba essaye donc ceci cela devrait resoudre ton probleme pour copier les cellules B6 a V6 vers l'autre feuille

a inserer dans la feuille 1

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim valeur As Range
For Each valeur In Range("B6:V6")
Sheets("Feuil2").Cells([match(A6,feuil2!A6:A65536,0)] + 5, valeur.Column) = valeur.Value
Next valeur
End Sub

Mytå
 
OUAHHH put... ca faisait un petit bout que je galerais sur excel pour finir le projet et là, ca marche nickel,
Merci beaucoup pour l'aide que vous m'avez apporter (Myta- Pyrof).
Je vais bosser un peu de VB et peut etre que je pourrais vous aider plus tard!!
En tout cas un gros merci,
Bonne continuation
Mais votre secret c'est que vous programmez comme vous pensez et ca c'est chiant pour le novice 🙂)
@ ++
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour