Répéter une formule

Résolu/Fermé
Sali - Modifié le 13 févr. 2023 à 17:32
 Sali - 15 févr. 2023 à 13:17

Bonjour,

voila je suis un débutant en Vba ! j'aimerai avoir de l'aide s'il vous plait ...

j'ai débuté par créer une base formule Vba puis j'ai  créé un bouton "enregistrer" qui me permet de ranger des renseignements de certains clients (Feuille "Fiche Clients") à partir d'une autre (feuille "Devis Pro") de facon successives à chaque fois que je clique sur ce bouton ranger tant qu'il y'a de vide .

je répond par "oui" dans le msgbox , il prens la valeur de D10 (Feuille "Devispro") et l'affecte à la cellule C2 (Feuille "Fiche clients") , et lorsque je clique encore il affecte la valeur de D10 dans la cellule C3 et ainsi de suite .

Ce base de formule consiste seulement de ranger seulement le nom et prénom !

Dim plage As Range
    Dim r As Range
    With Sheets("Fiche Clients")
    Dl = .Range("C" & Rows.Count).End(xlUp).Row + 1
    If Dl = 10 Then Dl = 2
    rep = MsgBox("Voulez-vous vraiment enregistrer ?", vbYesNo, "Enregistrement")
    If rep = vbYes Then
    .Range("C" & Dl).Value = Range("D10").Value
    
End If
End With
End Sub

j'aimerai refaire et rassembler ce truc avec un autre renseignement de client "Adresse" par exemple, dans un seul bouton et dans une seule formule VBA

Dim plage As Range
    Dim r As Range
    With Sheets("Fiche Clients")
    Dl = .Range("D" & Rows.Count).End(xlUp).Row + 1
    If Dl = 11 Then Dl = 2
    rep = MsgBox("Voulez-vous vraiment enregistrer ?", vbYesNo, "Enregistrement")
    If rep = vbYes Then
    .Range("D" & Dl).Value = Range("D11").Value

End If
End With
End Sub


 

Merci Beaucoup d'avance !


Windows / Edge 109.0.1518.78

A voir également:

4 réponses

yg_be Messages postés 22482 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 février 2024 1 445
13 févr. 2023 à 18:14

bonjour,

Je pense qu'il suffit de copier la ligne 8 du second truc à la place de la ligne 9 du premier truc.

Je me demande si la ligne 5 du premier truc a vraiment du sens.

1

Merci Beaucoup ! ça marche !

Pour la 5 ème ligne  !!! le message ! comme on est trois personnes "Utilisateurs" qui s'occupe d'introduire les renseignements vers la fiche clients !   c'est juste pour dire d'une autre façon "Est ce que vous êtes sure de finaliser" pour ne pas utiliser le bouton à la légère. lol 

en tout cas merci Monsieur !

0
yg_be Messages postés 22482 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 février 2024 1 445
13 févr. 2023 à 19:21

Ma question était à propos de cette cinquième ligne:

If Dl = 10 Then Dl = 2
0

 j'ai compris ! je me suis trompé !

fallait juste mettre

If DI = 2  

qui veut dire à partir de la ligne 2 ! c'est ça normalement ou je dois la supprimer totalement ? 

0
yg_be Messages postés 22482 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 février 2024 1 445
14 févr. 2023 à 09:32

Plutôt alors

If Dl < 2 Then Dl = 2
0

j'ai finis par avoir cela 

 Dim plage As Range
    Dim R As Range
    With Sheets("Fiche Clients")
    Dl = .Range("C" & Rows.Count).End(xlUp).Row + 1
    If Dl < 2 Then Dl = 2
    rep = MsgBox("Voulez-vous vraiment enregistrer ?", vbYesNo, "Enregistrement")
    If rep = vbYes Then
    .Range("C" & Dl).Value = Range("D10").Value
    .Range("D" & Dl).Value = Range("D11").Value
    .Range("F" & Dl).Value = Range("D12").Value
    .Range("G" & Dl).Value = Range("D13").Value
    .Range("H" & Dl).Value = Range("D14").Value
    .Range("I" & Dl).Value = Range("D15").Value
    .Range("E" & Dl).Value = Range("B10").Value
    .Range("J" & Dl).Value = Range("A8").Value


End If
End With
End Sub

Merci infiniment ! pour votre aide !

0