Renseigner des valeurs dans un tableau de manière automatique

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

C

chnook

Guest
Bonjour,
Je voudrais pouvoir automatiser mon tableau, c'est-à-dire qu'Excel renseigne directement les valeurs dans une zone précise (le tableau en question est joint pour une meilleure illustration).
Le principe est le suivant :
- L'utilisateur renseigne les données dans la colonne B : comprise entre A et H
- L'utilisateur renseigne les données dans la colonne C : soit 1 soit 2
- Excel place un 1 dans la colonne appropriée
On termine ensuite par faire la somme de chacun colonne
Si quelqu'un a une idée je suis preneuse
Bonne journée
 

Pièces jointes

Re : Renseigner des valeurs dans un tableau de manière automatique

Bonjour Chnook, Vgendron, bonjour le forum,

Une autre proposition VBA avec le code événementiel ci-dessous :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'au boucle clic dans l'onglet
Dim CL As Range 'déclare la variable CL (Cellule des Lignes)
Dim CC As Range 'déclare la variable CC (Cellule des Colonnes)

If Application.Intersect(Target, Range("B2:C3")) Is Nothing Then Exit Sub 'si le double-clic a lieu ailleurs que dans la plage B2:C3, sort de la procédure
Cancel = True 'empêche le mode [Édition] lié au double-clic
Range("D4:S7").ClearContents 'efface les anciennes valeurs
For Each CL In Range("B4:B7") 'boucle 1 sur toutes les cellules de la plage B4:B7
    For Each CC In Range("D2:S2") 'boucle 2 sur toutes les cellules de la plage D2:S2
        'si la cellule CL est égale à la cellule CC et si la cellule adjacente à CL est égale à la cellule en dessous de CC, place "1" à l'intersection de la ligne et la colonne, sort de la boucle 2
        If CL.Value = CC.Value And CL.Offset(0, 1).Value = CC.Offset(1, 0) Then Cells(CL.Row, CC.Column).Value = 1: Exit For
    Next CC 'prochaine colonne de la boucle 2
Next CL 'prochaine ligne de la boucle 1
End Sub
Le calcul se fait au double-clic sur Calcul (dans la plage B2:C3)
Le fichier :
 

Pièces jointes

- 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

Réponses
4
Affichages
202
Retour