??? Un amateur à besoin d'aide!!!

  • Initiateur de la discussion Initiateur de la discussion klingklang
  • 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 !

K

klingklang

Guest
Je cherche depuis des heures. Le probleme est que je ne sais pas ou regarder et comment ça s'appele. J'espere qu'un de vous peut m'aiguiller. Voici ce que je cherche à faire. J'aimerais entrer un valeur dans une cellule C1 et qu'en appuyant sur "enter" qu'un autre cellule C2 retienne la valeur entrée. La cellule C1 s'est remis à zero (case vide)en attente d'une autre valeur. En entrant de nouveau un valeur dans C1, C2 l'additionne et C1 se remet en case vise et ainsi de suite.....

merci de votre aide d'avance.
 
Re : ??? Un amateur à besoin d'aide!!!

Bonjour

je pense que cela ne peut se faire que par macro

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'sortie si plusieurs cellules sélectionnées
If Target.Value = "" Then Exit Sub 'sortie si vide
If Not Target.Address = "$C$1" Then Exit Sub 'sortie si pas C1
Range("C2").Value = Range("C2").Value + Target.Value
Target.Value = ""
End Sub
 
Re : ??? Un amateur à besoin d'aide!!!

ERIC S à dit:
Bonjour

je pense que cela ne peut se faire que par macro

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'sortie si plusieurs cellules sélectionnées
If Target.Value = "" Then Exit Sub 'sortie si vide
If Not Target.Address = "$C$1" Then Exit Sub 'sortie si pas C1
Range("C2").Value = Range("C2").Value + Target.Value
Target.Value = ""
End Sub
Salut à tous

Si tu ne connais pas le VBA, pas de panique :
Alt+F11 => tu passes en VBA
Fenêtre en haut à gauche : "Projet - VBAProject
tu as une arborescence
VBAProject (nom du classeur)
__Microsoft Excel Objets
__ __Feuil1(nom de feuille) => tu recherches celle où tu veux que ta valeur s'additionne et tu double-clic dessus

Fenêtre de droite en dessous des cases (Général) / (déclaration)
dans la feuille blanche tu colles la macro de ERIC S
à partir de : Private Sub
et jusqu'à : End Sub
tu retourne sous Excel (croix ou menu Fichier>>fermer et retourner sous Excel)

A+

PS ERIC S a commenté ses lignes : l'apostrophe devant ses commentaires indique à Excel de ne pas tenir compte de la partie droite. Alors, évite d'y toucher
 
Dernière édition:
Re : ??? Un amateur à besoin d'aide!!!

Ça se complique, dans le meme ordre d'idée et j'ai poutant bien essayé. Si mon C1 devenait A1 et C2 dvenait B1. Pour ca pas de probleme, j'ai compris l'astuce

si B1 incremente A1, (pas de probleme) alors comment fait t'on pour que ce soit répétitif. ex.

B1--->A1
B2--->A2
B3--->A3
B4--->A4
VIDE
VIDE
B7--->A7

J'aimerais pouvoir faire ça sur plusieur cellule. et pouvoir controler le numero.

en fait,

de G9--->E9 @ G14--->E14
de G18--->E18 @ G23--->E23
de G27--->E27 @ G32--->E32
de G35--->E35 @ G39--->E39
ge me disais que ça devait etre répétitif, mais il semble que non.

merci, vous êtes des as!
 
Re : ??? Un amateur à besoin d'aide!!!

Salut le Forum

KlingKlang essaye ce bout de code

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'sortie si plusieurs cellules sélectionnées
If Target.Value = "" Then Exit Sub 'sortie si vide
If Not Application.Intersect(Target, Range("G9:G14", "G18:G23")) Is Nothing Then
Target.Offset(0, 2) = Target.Offset(0, 2) + Target
Target.Value = ""
End If
End Sub

Il te suffit d'ajouter les séries G27:G32 et G35:G39

Mytå
 
Re : ??? Un amateur à besoin d'aide!!!

merci, ca semble marcher en partie. Bour mes besoins, j'ai changer les valeur des target en "Target.Offset(0, -2)" le hic vien de (Target, Range("G9:G14", "G18:G23")). en theorie, G15:G17 ne devrais pas subir la fonction et pourtant j'ai bien G9:23 en continu. Des idées, j'ai tripoté les parentheses en amateur....sans résultats.
 
Re : ??? Un amateur à besoin d'aide!!!

merci, probleme résolu:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'sortie si plusieurs cellules sélectionnées
If Target.Value = "" Then Exit Sub 'sortie si vide
If Not Application.Intersect(Target, Range("G9:G14, G18:G23, G27:G32, G35:G39")) Is Nothing Then
Target.Offset(0, -2) = Target.Offset(0, -2) + Target
Target.Value = ""
End If
End Sub


Merci à tous, le principe va finir par entrer. Plein de possibilité ce VBA. Va falloir que je m'y mettre.
 
Re : ??? Un amateur à besoin d'aide!!!

Re KlingKlang

Code modifier

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count > 1 Or Not IsNumeric(.Value) Then Exit Sub
If Not Application.Intersect(Target, _
Range("G9:G14, G18:G23, G27:G32 , G35:G39")) Is Nothing Then
.Offset(0, -2) = .Offset(0, -2) + .Value
.Value = ""
End If
End With
End Sub

Pour éviter les erreurs si du texte entré

Mytå
 
- 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.
Retour