Afficher Userform en boucle

  • Initiateur de la discussion Initiateur de la discussion Niouf
  • 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 !

Niouf

XLDnaute Occasionnel
Bonjour,

Sur le fichier ci joint. Après l'avoir ouvert, faites "VERIFIER" sur la page d'acceuil, ensuite sélectionner une référence, et cliquer sur le bouton "VERIFIER" devenu actif, rentrer un pas de 500 par exemple. Et continuer en suivant le fonctionnement, rentrer alors une valeur. Vous vous rendrez compte par la suite que la valeur entrée est recopiée X fois dans un tableau.

Et c'est ici qu'arrive mon probleme, j'aimerais réafficher a chaque boucle mon userform, pour entrer une valeur différente à chaque fois.

Merci d'avance pour votre aide.
 

Pièces jointes

Re : Afficher Userform en boucle

Salut Niouf, salut le forum,

Dans le code de ta USERFROM, supprimer les boucles:
Code:
Private Sub Ok_Click()

rel = Relevé

Unload Me
 
End Sub

Par contre dans ton code de ton module appelant ta USERFROM, y mettre les boucles:
Code:
Public rel

Sub BoucleDiagonales()

Dim djmax As Integer
Dim dimax As Integer
Dim derlign As Integer
Dim i As Integer
Dim j As Integer


dimax = ThisWorkbook.Worksheets("Calculs").Range("B6").Value
djmax = ThisWorkbook.Worksheets("Calculs").Range("B6").Value + 4 + 6

For j = 6 To djmax

    For i = 2 To dimax
        
        derlign = Range("F65000").End(xlUp).Row + 1
        Sheets("calculs").Select
        Entrerrelevé.Show
        Cells(i, j).Value = rel
        MsgBox ("La valeur est entrée")

    Next i
    
  MsgBox ("Changement de Colonne")
    
Next j
   
End Sub

Je n'ai quasiment pas changé ton code, je l'ai seulement déplacé et ajouté la variable publique intermédiaire rel.

PS: Accueil (sinon ça fait mal au yeux 😉)
 
Re : Afficher Userform en boucle

Bonjour

Je pense que cette lecture te sera utile

Ce lien n'existe plus (et les 5 chapitres suivants)
en particulier celle-ci sur la validation des données saisies dans le formulaire
Ce lien n'existe plus


Tu n'as pas besoin par exemple de mettre un appel à testcases dans tous tes contrôles. Soit tu testes mais dans ce cas tu expliques à l'utilisateur ce qui ne va pas et tu remets le focus dans le contrôle soit tu testes tout dans le bouton de validation par exemple.

ce code

Code:
Private Sub CommandButton3_Click()
Sheets("Calculs").Select
    Range("B1") = Longueur
    Range("B2") = Largeur
Sheets("Acceuil").Select
Dimregle.Show
End Sub

s'écrit de préférence :

Code:
Private Sub CommandButton3_Click()
with Sheets("Calculs")
    .Range("B1") = Longueur
    .Range("B2") = Largeur
en with
Sheets("Acceuil").Select
Dimregle.Show
End Sub

de même à la place de
Code:
x = ThisWorkbook.Worksheets("Calculs").Range("C1") / ThisWorkbook.Worksheets("Calculs").Range("B5")
tu peux écrire
Code:
with sheets("calculs")
x= .range(C1")/.range("B5")
end with

a moins que tu ne navigues au cours de ta macro entre plusieurs classeurs, en général il n'est pas utile de préciser thisworkbook

IL faut en effet éviter tant que possible de sélectionner une feuille ou un objet quand ce n'est pas nécessaire, notamment pour aller y récupérer la valeur d'une cellule.

Pour ta question, je ne comprends rien à tes explications 🙂
Au lieu de dire ce qui ne va pas, si tu disais plutot ce que tu souhaites faire exactement.

[edit]interrompue en cours d'écriture et pas rafraichi avant de valider 🙂
 
Dernière édition:
- 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

Discussions similaires

L
Réponses
1
Affichages
1 K
Lucien31
L
E
Réponses
5
Affichages
2 K
Elmarabout
E
M
Réponses
2
Affichages
1 K
M
Z
Réponses
18
Affichages
3 K
Z
S
Réponses
1
Affichages
645
Retour