Base de donnée

djkrom2003

XLDnaute Nouveau
Bonjour à toutes et à tous.

Je cherche à interagir sur une base de données se situant sur une autre feuille en VBA, je m'explique

Je souhaite que lorsque je renseigne le nom de mon client dans la feuille "calcul" Il aille vérifier apres la saise dans la feuille "base client" si le client existe déja.

si c'est le cas :

vérifier que le département est bien renseigner

S'il n'existe :

pas copier le nom du client dans la base en dernière position et ouvrir une msgbox pour renseigner le num de departement correspondant.

J'ai joint le fichier pour plus de clarté et je reste connecté.
 

Pièces jointes

  • recherche valeur.xls
    52 KB · Affichages: 40
  • recherche valeur.xls
    52 KB · Affichages: 37
  • recherche valeur.xls
    52 KB · Affichages: 45

djkrom2003

XLDnaute Nouveau
Re : Base de donnée

J'ai commencer à avancer sur la macro mais suit bloqué avec la variable valeur svp....

Code:
Sub test()

Dim Valeur, i, Hauteur

 Valeur = ActiveCell
 
 
 
 Hauteur = Range("c2").CurrentRegion.Rows.Count
 
 ActiveCell.Copy
 
 For i = 1 To Hauteur
If Cells(i + 1, 3) <> Valeur Then
MsgBox "Client manquant"

Range("c65536").End(xlUp)(2).Select
Valeur.Paste


Application.CutCopyMode = False
 
End If

Next






End Sub
 

Pièces jointes

  • recherche valeur.xls
    58 KB · Affichages: 39
  • recherche valeur.xls
    58 KB · Affichages: 37
  • recherche valeur.xls
    58 KB · Affichages: 38

ROGER2327

XLDnaute Barbatruc
Re : Base de donnée

Bonjour djkrom2003


Un essai (pas trop fignolé) dans le classeur joint...​


ROGER2327
#5773


Samedi 21 Clinamen 139 (Moreau, insulaire - fête Suprême Quarte)
23 Germinal An CCXX, 7,0523h - marronnier
2012-W15-4T16:55:32Z
 

Pièces jointes

  • XLD_182396.xlsm
    18 KB · Affichages: 54

djkrom2003

XLDnaute Nouveau
Re : Base de donnée

Merci mais depuis j'ai trouver... voici le la prog que j'ai fait
Code:
Sub client()

Dim client, Departement, i, Hauteur
Dim estPresent As Boolean

Application.ScreenUpdating = False

With Sheets("base client")
    client = ActiveCell
    
    ' Hauteur correspond au nombre d'éléments sur la page "base client"
    Hauteur = .Range("c2").CurrentRegion.Rows.Count
    
    i = 1
    estPresent = False
    ' On recherche tant qu'on n'a pas trouvé et tant qu'on n'est pas à la fin
    While Not estPresent And i <= Hauteur
        If .Cells(i + 1, 3) = client Then
            ' On a trouvé
            estPresent = True
        End If
        
        ' On passe à la ligne suivante
        i = i + 1
    Wend
    
    If Not estPresent Then
        ' On est dans le cas où la recherche a été infructueuse, et on demande d'ajouter le client
        Departement = InputBox("Client manquant, entrez un département")
                
        .Range("c" & Hauteur + 1).Value = client
        .Range("i" & Hauteur + 1).Value = Departement
    
    
        ' nettoyage_base_client Macro
Sheets("base client").Select
    Columns("I:I").Select
    Selection.AutoFilter
    Range("$I$1:$I$4700").AutoFilter Field:=1, Criteria1:="="
    Range("C2:I4700").Select
    Range("I7").Activate
    Selection.Delete Shift:=xlUp
    Columns("I:I").Select
    Selection.AutoFilter
    Columns("c:c").Select
    Application.CutCopyMode = False
   Sheets("test calcul auto").Select
    End If

End With

End Sub
 

Discussions similaires

Réponses
3
Affichages
323
Réponses
7
Affichages
424

Statistiques des forums

Discussions
312 545
Messages
2 089 479
Membres
104 178
dernier inscrit
Lampalator