Définir une variable VBA

Bonjour,
J'ai un petit fichier sur lequel j'aimerais que le contenu de ma textbox, alimente les cellules d'un tableau en fonction des choix des combobox.
Je pense qu'il faut définir des variables du genre :

l=la ou les lignes ayant en commun les valeurs des Cbbx 1, 2 et 3.

c= la colonne ayant en commun la valeur de la Cbbx4.
mettre le contenu de la textbox à l'intersection de tout ça

Le seul problème, c'est que je ne sais pas le convertir en code.
Merci pour votre aide

15test.xlsm (26.29 Ko)

Bonjour Steph47

Pas besoin de variable pour faire ce que vous souhaitez

Mais franchement... c'est pour un entrainement... ou vous voulez un USF pour saisir 5 informations

Bonjour BrunoM45
Bon, va valoir que je me creuse la tête pour trouver...
Pour répondre à ta question,... un peu les 2. Là, j'ai simplifié mon tableau qui normalement contient beaucoup plus de données.
Je peux effectivement me passer d'USF mais je trouve la saisie beaucoup plus simple.

Re,

Alors c'est en forgeant qu'on devient forgeron

Une petite recherche avec notre ami (ou pas) Google
https://www.google.com/search?q=vba+USF+pour+remplir+donn%C3%A9es

Tu peux trouver :
https://forum.excel-pratique.com/excel/remplir-base-de-donnees-avec-userform-t73021.html

A+

Bonjour,

Alors, j'ai réussi à coller les données de ma textbox et fonction de la Cbbx 4 (pour les colonnes) et la Cbbx1 (pour la ligne) mais je n'arrive pas à y ajouter les choix de la Cbbx 2 et 3

10test.xlsm (27.84 Ko)

Bonjour Steph47, ou la forgeronne ;)

Je vous mets sur la piste, avec une possibilité parmi d'autres (l'exemple complète la ligne 30) :

    Range("A30").Value = ComboBox1.Value
    Range("B30").Value = ComboBox2.Value
    Range("C30").Value = ComboBox3.Value
    Select Case ComboBox4.Value
        Case "Loyer"
            Range("D30").Value = TextBox1.Value
        Case "Primes"
            Range("E30").Value = TextBox1.Value
        Case "Commissions"
            Range("F30").Value = TextBox1.Value
        Case Else
    End Select

Il restera pour répondre à la demande initiale :

- à déterminer la dernière ligne du tableau, grâce à la fonction suivante (résultat à mettre dans une variable) :

Cells(Rows.Count, "A").End(xlUp).Row 'dernière ligne de la colonne A

- à insérer une ligne au-dessus de la ligne Total

- à compléter les cellules avec les valeurs de la boîte de dialogue

Pour mettre le numéro d’une ligne dans une variable, une possibilité :

    Steph47 = 30
    Range("A" & Steph47).Value = ComboBox1.Value

Il ne reste plus qu'à finaliser ;) Tout est sur le forum

Astuce : dans les tableaux de grandes dimensions, la ligne "Total" se place sous les en-têtes de colonnes. Cela permet d'avoir le résultat sans descendre le tableau, et simplifie le code vba.

Bon week-end !

Bonsoir,
Bon, décidément ça m'énerve, je ne trouve pas. j'suis pas assez bon en VBA.

AntoineDL, je ne comprend pas l'utilité de venir copier les valeurs des Cbbx en bas du tableau.

Bonjour Steph47

C'est bien pour cette raison que je vous posais la question au début du fil,
le développement ne s'improvise pas, c'est un vrai métier

Vous utilisez un Tableau Structuré, autant en tirer partie, mais quelques notions à respecter :

1) Mettre "Option Explicit" en début de module
2) Définir toutes les variables
3) Indenter les lignes de code
4) Nommer correctement les contrôles de l'USF
Exemple : Combobox1 devient CbxMois

Voilà donc votre fichier modifié ainsi

13steph47-test.xlsm (28.75 Ko)

A+

Bonjour BrunoM45,
Tout d'abord Merci beaucoup !
Je sais bien que le développement ne s'improvise pas... le peu que je sais faire je l'ai appris tout seul, je sais qu'il y a encore énormément de chose que je ne maitrise/comprends pas, mais disons que le peu que je comprends me suffit (la plupart du temps)

J'utilise bien un tableau structuré...mais... j'ai des colonnes en plein milieu avec des formules qui tiennent comptent des valeurs saisies dans d'autres colonnes...
Donc, il faut que je redéfinisse "Col" ou alors réorganiser mon tableau...

Ensuite j'aurais voulu que si la CbxTech n'est pas renseignée alors on l'applique à l'ensemble des lignes (Mois et Service)

Voilà,

J'ai enfin réussi à faire ce que je voulais.
Je n'ai finalement pas utilisé la méthode de BrunoM45, mais ça m'a tout de même permis d'apprendre des choses.
Je vous mets ma version finale

10test1.xlsm (30.42 Ko)

Bonjour Steph47

Je n'ai finalement pas utilisé la méthode de BrunoM45,

Forcément si vous ne nous donnez pas le bon exemple

Rechercher des sujets similaires à "definir variable vba"