Récupérer sous vba une valeur, modifier et écrire dans un champ

Signaler
Messages postés
3
Date d'inscription
jeudi 18 février 2021
Statut
Membre
Dernière intervention
18 février 2021
-
Messages postés
15636
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 mars 2021
-
Bonjour,
Je n'ai pas trouvé de réponses
Je suis néophyte en VBA
Question :
Comment écrire une instruction en vba pour aller dans un tableau, rechercher la dernière valeur dans une colonne
récupérer cette valeur
Ajouter 1 à cette valeur
écrire le résultat dans un champ de formulaire

Sheets ("BDClient"). Activate
Range("A1").Select
Selection.End (xlDown).Select

Déclaration de variable
Dim NumVar
NumVar = ???

Merci de votre aide

3 réponses

Messages postés
1424
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
19 février 2021
462
Pour continuer sur ce que tu as fait :

Sheets ("BDClient"). Activate
Range("A1").Select
Selection.End (xlDown).Select


'Déclaration de variable
Dim NumVar
NumVar = Activecell.value + 1 ' tu est sur la cellule active et tu incrémente de 1 sa valeur
 

Messages postés
15636
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 mars 2021
1 462
Bonjour,

A vous d'adapter en fonction de votre besoin.
Quoi-est-ce votre formulaire?

'https://www.commentcamarche.net/faq/36886-methode-find-dans-vba-recherche-de-donnees-sous-excel

Sub test()
    Valeur_Cherchee = 10            'votre valeur a chercher
    Set PlageDeRecherche = ActiveSheet.Columns(1)       'plage de recherche colonne A
    '*******************************
    'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)
    Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
    'traitement de l'erreur possible : Si on ne trouve rien :
    If Trouve Is Nothing Then
        'ici, traitement pour le cas où la valeur n'est pas trouvée
        AdresseTrouvee = Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address
    Else
        'ici, traitement pour le cas où la valeur est trouvée
        AdresseTrouvee = Trouve.Address
        Val_Plus_1 = Trouve.Value + 1
    End If
    MsgBox AdresseTrouvee & vbNewLine & vbNewLine & vbNewLine & Val_Plus_1
    'vidage des variables
    Set PlageDeRecherche = Nothing
    Set Trouve = Nothing
End Sub
Messages postés
3
Date d'inscription
jeudi 18 février 2021
Statut
Membre
Dernière intervention
18 février 2021

Ce que je veux faire c'est :
Une colonne sans doublons comporte des nombres
Se positionner sur la dernières cellules vides de la colonne N°
Récupérer le contenu de cette cellule
Lui ajouter +1
La visualiser dans un formulaire
Lors de l'ajout des données par VBA dans le formulaire, inscrire ce numero+1 sur la ligne + 1 suivi des autres informations
J'ai réussi à écrire sur la dernière ligne vide les autres champs, mais je ne sais pas incrémenter mon numéro.

Comment faire pour écrire en automatique
dernière cellule non vide
Dim NumVar
Valeur_cherchee = cette cellule
NumVar = valeur_cherhchee + 1
txtNumero = NumVar

J'ai besoin d'une incrémentation numérique auto devant chaque ligne de mon tableau

Merci
Messages postés
15636
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
8 mars 2021
1 462
Bonjour,

J'ai besoin d'une incrémentation numérique auto devant chaque ligne de mon tableau
Pas claire vos explications
Pouvez mettre votre fichier avec ce que vous voulez pour devant chaque ligne de mon tableau

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de piËce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "CrÈer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une rÈponse...