For each : si c = "A" alors c suivant

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

carlos

XLDnaute Impliqué
Bonjour

voici ma macro :

'Donner un numero aleatoire à chq eleve de 1 à n

For Each c In Plage
If c = 'A' Then c = 'A'
Do
c = Int(27 * Rnd()) + 1
Loop Until Application.CountIf(Range('g4:g' & c.Row), c) = 1
Next c


J'aimerais que si c = 'A' alors c = 'A' ET on passe à la cellule suivante c.Offset(1, 0)

merci
 
Bonjour à vous deux

moi aussi, pas sur d'avoir compris :

Mais il manque un : end if

For Each c In Plage
If c <> 'A' Then
Do
c = Int(27 * Rnd()) + 1
Loop Until Application.CountIf(Range('g4:g' & c.Row), c) = 1
end if
Next c

Salut
 
Bonjour Hervé et Creepy

Encore une fois nos chemins se croisent

Merci pour vos propositions , ca marche impec mais g du mal à comprendre p, au vu de ton code 'If c <> 'A' Then
Do etc...'pourquoi à la place du 'A' il ne met pas une valeur aleatoire et pourquoi il embraye sur la c suivante ???

Merci
 
- 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

Réponses
5
Affichages
744
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
808
Retour