Boucle while - Aide pour une débutante
Clarinette13006
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je suis débutant sur VBA, je me forme en partie grâce à internet et en enregistrant des macros pour les comprendre et les reproduire... c'est assez lent comme méthode :)
Ce que je cherche a faire est très simple et pourtant je ne trouve pas la solution, voila pourquoi je sollicite votre aimable secours...
J'ai des données dans ma colonne B et un numéro de serie dans une cellule R10.
Je voudrais créer une boucle WHILE qui TANT QUE B n'est pas vide, la macro recopie R10 dans A....
C'est simple, mais sans les réflexes VBA c'est très très compliqué :)
Merci pour votre aide
Je suis débutant sur VBA, je me forme en partie grâce à internet et en enregistrant des macros pour les comprendre et les reproduire... c'est assez lent comme méthode :)
Ce que je cherche a faire est très simple et pourtant je ne trouve pas la solution, voila pourquoi je sollicite votre aimable secours...
J'ai des données dans ma colonne B et un numéro de serie dans une cellule R10.
Je voudrais créer une boucle WHILE qui TANT QUE B n'est pas vide, la macro recopie R10 dans A....
C'est simple, mais sans les réflexes VBA c'est très très compliqué :)
Merci pour votre aide
A voir également:
- Boucle while - Aide pour une débutante
- Logiciel de programmation pour débutant - Guide
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Boucle excel sans macro - Forum Excel
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Mise à disposition de boucle locale dédiée ✓ - Forum Freebox
5 réponses
Bonjour
Un exemple
Cdlmnt
Un exemple
Option Explicit
Const NF = "Feuil1"
Const lideb = 4
Const celns = "R10"
Public Sub Kopie()
Dim li As Long, noserie
With Sheets(NF)
noserie = .Range(celns).Value
li = lideb
While .Range("B" & li) <> ""
.Range("A" & li).Value = noserie
li = li + 1
Wend
End With
End Sub
Cdlmnt
Super ! Merci bcp :)
J'ai exactement la meme manip a faire mais a la place d'un num de série, je voudrais mettre une formule
ce que j'ai essayé de faire en remplaçant :
While .Range("B" & li) <> ""
.Range("A" & li).FormulaR1C1 = "=+IF(OR(RC[-1]=20,RC[-1]=40),IF(RC[-1]=20,1,2),0)"
li = li + 1
Wend
End With
End Sub
C'est correct ?
J'ai exactement la meme manip a faire mais a la place d'un num de série, je voudrais mettre une formule
ce que j'ai essayé de faire en remplaçant :
While .Range("B" & li) <> ""
.Range("A" & li).FormulaR1C1 = "=+IF(OR(RC[-1]=20,RC[-1]=40),IF(RC[-1]=20,1,2),0)"
li = li + 1
Wend
End With
End Sub
C'est correct ?
Voici mon code et qd je le lance il me surligne le RANGE de ma deuxieme boucle alors qu'avant de mettre les deux boucles d'affilé ca marché bien
Sub TEUformule()
'
' FORMULE TEU
' Définition des constantes pour n*VOYAGE
Const NF = "DATABASE"
Const lideb = 2
Const celns = "S10"
Dim li As Long, noserie
With Sheets(NF)
noserie = .Range(celns).Value
li = lideb
' Définition des constantes pour formule TEU
Const lidebteu = 2
lit = lidebteu
'Creation de la colonne TEU
Columns("G").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("G1").Select
ActiveCell.FormulaR1C1 = "TEU"
'Début de la boucle - jusqua vide
While .Range("F" & lit) <> ""
.Range("G" & lit).FormulaR1C1 = "=+IF(OR(RC[-1]=20,RC[-1]=40),IF(RC[-1]=20,1,2),0)"
'ligne +1
lit = lit + 1
Wend
End With
' NUMERO DE VOYAGE
'Debut de la boucle - jusqua cells vide
While .Range("B" & li) <> ""
.Range("A" & li).Value = noserie
'ligne +1
li = li + 1
Wend
End With
End Sub
Sub TEUformule()
'
' FORMULE TEU
' Définition des constantes pour n*VOYAGE
Const NF = "DATABASE"
Const lideb = 2
Const celns = "S10"
Dim li As Long, noserie
With Sheets(NF)
noserie = .Range(celns).Value
li = lideb
' Définition des constantes pour formule TEU
Const lidebteu = 2
lit = lidebteu
'Creation de la colonne TEU
Columns("G").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("G1").Select
ActiveCell.FormulaR1C1 = "TEU"
'Début de la boucle - jusqua vide
While .Range("F" & lit) <> ""
.Range("G" & lit).FormulaR1C1 = "=+IF(OR(RC[-1]=20,RC[-1]=40),IF(RC[-1]=20,1,2),0)"
'ligne +1
lit = lit + 1
Wend
End With
' NUMERO DE VOYAGE
'Debut de la boucle - jusqua cells vide
While .Range("B" & li) <> ""
.Range("A" & li).Value = noserie
'ligne +1
li = li + 1
Wend
End With
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question