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

Fermé
Ghilou14 Messages postés 5 Date d'inscription jeudi 18 février 2021 Statut Membre Dernière intervention 2 avril 2021 - 18 févr. 2021 à 16:32
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 - 19 févr. 2021 à 07:20
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
A voir également:

3 réponses

ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
Modifié le 19 févr. 2021 à 07:15
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
 

1
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 711
18 févr. 2021 à 17:32
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
0
Ghilou14 Messages postés 5 Date d'inscription jeudi 18 février 2021 Statut Membre Dernière intervention 2 avril 2021
18 févr. 2021 à 17:46
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
0
f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 711
19 févr. 2021 à 07:20
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...
0