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

Ghilou14 -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. ozone_ Messages postés 1823 Statut Membre 511
     
    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
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. Ghilou14
       
      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
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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