• Initiateur de la discussion Initiateur de la discussion djkrom2003
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

djkrom2003

Guest
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

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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
700
D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Réponses
3
Affichages
645
Réponses
26
Affichages
2 K
Réponses
7
Affichages
987
Retour