Je suis débutant en VBA.
Je cherche à mettre le numéro de ligne selectionnée en variable puis de
créer un do Loop While pour parcourir les lignes d'un tableau (a chaque
boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer
Sheets("Export").Select
ligne = 3
'Sélection de la première ligne
Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle
If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne
If datextrac = Cell("19, ligne").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
'On passe à la ligne suivante et on regarde si la première 'cellule
est différente de Empty
ligne = ligne + 1
ActiveRow.Offset(1, 0).Select
Range("A:ligne).Select
Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider?
D'avance merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Fauconnier
Bonjour
range("a" & ligne) ou range("$a:$" & ligne) , ...
cells(ligne,x) avec x représentant le numéro de la colonne
Ok? -- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"none" <""pat"@(none)"> a écrit dans le message de news: 454dc525$0$14670$
Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
Bonjour
range("a" & ligne) ou range("$a:$" & ligne) , ...
cells(ligne,x) avec x représentant le numéro de la colonne
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"none" <""pat"@(none)"> a écrit dans le message de news:
454dc525$0$14670$426a74cc@news.free.fr...
Bonjour,
Je suis débutant en VBA.
Je cherche à mettre le numéro de ligne selectionnée en variable puis de
créer un do Loop While pour parcourir les lignes d'un tableau (a chaque
boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer
Sheets("Export").Select
ligne = 3
'Sélection de la première ligne
Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle
If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne
If datextrac = Cell("19, ligne").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
'On passe à la ligne suivante et on regarde si la première 'cellule est
différente de Empty
ligne = ligne + 1
ActiveRow.Offset(1, 0).Select
Range("A:ligne).Select
Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider?
D'avance merci.
cells(ligne,x) avec x représentant le numéro de la colonne
Ok? -- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"none" <""pat"@(none)"> a écrit dans le message de news: 454dc525$0$14670$
Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
lSteph
Bonjour,
Un Do loop donnerait (mais ce n'est pas forcément le plus approprié)
Dim numr as long '(integer ne couvre que la moitié des lignes) Do 'ton traitement numr=numr+1 loop while cells(numr,19).value<>""
Il serait possible de faire ainsi:
Dim c as range For each c in Columns(19).cells if isempty(c.value) then exit for 'ton traitement next c
ou même directement trouver la dernière cellule:
For i = 2 to Cells(65536,19).end(xlup).row 'ton traitement sur cells(i,19) next i
.... nota: A priori peut -être à rectifier Cells(ligne, colonne) et non colonne ligne datextract n'est pas défini
Range("A:ligne").Select .select est à éviter (pas la peine de sélectionner pour traiter)
(Dis ce que tu veux faire dans le code, pour plus détaillé) .....
Cordialement.
lSteph
none a exprimé avec précision :
Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
-- - -
Bonjour,
Un Do loop donnerait (mais ce n'est pas forcément le plus approprié)
Dim numr as long '(integer ne couvre que la moitié des lignes)
Do
'ton traitement
numr=numr+1
loop while cells(numr,19).value<>""
Il serait possible de faire ainsi:
Dim c as range
For each c in Columns(19).cells
if isempty(c.value) then exit for
'ton traitement
next c
ou même directement trouver la dernière cellule:
For i = 2 to Cells(65536,19).end(xlup).row
'ton traitement sur cells(i,19)
next i
.... nota:
A priori peut -être à rectifier
Cells(ligne, colonne)
et non colonne ligne
datextract n'est pas défini
Range("A:ligne").Select
.select est à éviter (pas la peine de sélectionner pour traiter)
(Dis ce que tu veux faire dans le code, pour plus détaillé)
.....
Cordialement.
lSteph
none a exprimé avec précision :
Bonjour,
Je suis débutant en VBA.
Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer
un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle,
quelques cellules de la ligne sont traitées)
Dim ligne as integer
Sheets("Export").Select
ligne = 3
'Sélection de la première ligne
Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle
If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne
If datextrac = Cell("19, ligne").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
'On passe à la ligne suivante et on regarde si la première 'cellule est
différente de Empty
ligne = ligne + 1
ActiveRow.Offset(1, 0).Select
Range("A:ligne).Select
Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider?
D'avance merci.
Un Do loop donnerait (mais ce n'est pas forcément le plus approprié)
Dim numr as long '(integer ne couvre que la moitié des lignes) Do 'ton traitement numr=numr+1 loop while cells(numr,19).value<>""
Il serait possible de faire ainsi:
Dim c as range For each c in Columns(19).cells if isempty(c.value) then exit for 'ton traitement next c
ou même directement trouver la dernière cellule:
For i = 2 to Cells(65536,19).end(xlup).row 'ton traitement sur cells(i,19) next i
.... nota: A priori peut -être à rectifier Cells(ligne, colonne) et non colonne ligne datextract n'est pas défini
Range("A:ligne").Select .select est à éviter (pas la peine de sélectionner pour traiter)
(Dis ce que tu veux faire dans le code, pour plus détaillé) .....
Cordialement.
lSteph
none a exprimé avec précision :
Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
La lette S dans cette expression représente la colonne 19 de la ligne : Cells(Ligne, "S").
Attention, dans la procédure soumise, je n'ai pas vu à quel moment la variable "datextrac" est renseignée... Est-ce une variable Public ?
'--------------------------- Sub test()
Dim Ligne As Integer Ligne = 3 With Sheets("Export") Do While .Range("A" & Ligne) <> "" If datextrac = .Cells(Ligne, "S").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If Ligne = Ligne + 1 Loop End With End Sub '---------------------------
"none" <""pat"@(none)"> a écrit dans le message de news: 454dc525$0$14670$ Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
Ce que ton code pourrait avoir l'air :
La lette S dans cette expression représente la colonne 19
de la ligne : Cells(Ligne, "S").
Attention, dans la procédure soumise, je n'ai pas vu à quel
moment la variable "datextrac" est renseignée...
Est-ce une variable Public ?
'---------------------------
Sub test()
Dim Ligne As Integer
Ligne = 3
With Sheets("Export")
Do While .Range("A" & Ligne) <> ""
If datextrac = .Cells(Ligne, "S").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
Ligne = Ligne + 1
Loop
End With
End Sub
'---------------------------
"none" <""pat"@(none)"> a écrit dans le message de news: 454dc525$0$14670$426a74cc@news.free.fr...
Bonjour,
Je suis débutant en VBA.
Je cherche à mettre le numéro de ligne selectionnée en variable puis de
créer un do Loop While pour parcourir les lignes d'un tableau (a chaque
boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer
Sheets("Export").Select
ligne = 3
'Sélection de la première ligne
Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle
If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne
If datextrac = Cell("19, ligne").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
'On passe à la ligne suivante et on regarde si la première 'cellule
est différente de Empty
ligne = ligne + 1
ActiveRow.Offset(1, 0).Select
Range("A:ligne).Select
Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider?
D'avance merci.
La lette S dans cette expression représente la colonne 19 de la ligne : Cells(Ligne, "S").
Attention, dans la procédure soumise, je n'ai pas vu à quel moment la variable "datextrac" est renseignée... Est-ce une variable Public ?
'--------------------------- Sub test()
Dim Ligne As Integer Ligne = 3 With Sheets("Export") Do While .Range("A" & Ligne) <> "" If datextrac = .Cells(Ligne, "S").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If Ligne = Ligne + 1 Loop End With End Sub '---------------------------
"none" <""pat"@(none)"> a écrit dans le message de news: 454dc525$0$14670$ Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
Ange Ounis
Dim ligne as integer
Si je puis me permettre, il est préférable de déclarer une variable représentant une ligne en Long plutôt qu'en Integer (type dont la valeur maximum est 32767...alors qu'Excel propose actuellement 65536 lignes). Avec ligne en Integer, si tu as besoin d'accéder à la 32768ème ligne d'une feuille de calcul, tu obtiendras un message d'erreur (erreur 6 : dépassement de capacité).
---------- Ange Ounis ----------
Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
Dim ligne as integer
Si je puis me permettre, il est préférable de déclarer une variable représentant
une ligne en Long plutôt qu'en Integer (type dont la valeur maximum est
32767...alors qu'Excel propose actuellement 65536 lignes).
Avec ligne en Integer, si tu as besoin d'accéder à la 32768ème ligne d'une
feuille de calcul, tu obtiendras un message d'erreur (erreur 6 : dépassement de
capacité).
----------
Ange Ounis
----------
Bonjour,
Je suis débutant en VBA.
Je cherche à mettre le numéro de ligne selectionnée en variable puis de
créer un do Loop While pour parcourir les lignes d'un tableau (a chaque
boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer
Sheets("Export").Select
ligne = 3
'Sélection de la première ligne
Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle
If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne
If datextrac = Cell("19, ligne").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
'On passe à la ligne suivante et on regarde si la
première 'cellule est différente de Empty
ligne = ligne + 1
ActiveRow.Offset(1, 0).Select
Range("A:ligne).Select
Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider?
D'avance merci.
Si je puis me permettre, il est préférable de déclarer une variable représentant une ligne en Long plutôt qu'en Integer (type dont la valeur maximum est 32767...alors qu'Excel propose actuellement 65536 lignes). Avec ligne en Integer, si tu as besoin d'accéder à la 32768ème ligne d'une feuille de calcul, tu obtiendras un message d'erreur (erreur 6 : dépassement de capacité).
---------- Ange Ounis ----------
Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
Patrice
Bonjour, La variable datextrac était déclarée plus haut dans le code qui donne maintenant ceci grace à votre aide (je n'ai pas encore fini, mais je ne vais pas lacher prise!)
Sub Indic()
Dim datextrac As Date Dim ligne As Integer
'Définition de la date d'extraction BO Msg = "La date d'extration BO est-elle " & Date & " ?" Ans = MsgBox(Msg, vbYesNo) If Ans = vbYes Then datextrac = Date If Ans = vbNo Then datextrac = InputBox("Saisissez la date d'extraction BO au format JJ/MM/AAA") End If
'définition de la ligne de début ligne = 3
'moulinette With Sheets("Export") Do While .Range("A" & ligne) <> "" 'Traitement des données de la ligne If datextrac = .Cells(ligne, "S").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'incrémentation ligne = ligne + 1
Loop End With
End Sub
Ce que ton code pourrait avoir l'air :
La lette S dans cette expression représente la colonne 19 de la ligne : Cells(Ligne, "S").
Attention, dans la procédure soumise, je n'ai pas vu à quel moment la variable "datextrac" est renseignée... Est-ce une variable Public ?
'--------------------------- Sub test()
Dim Ligne As Integer Ligne = 3 With Sheets("Export") Do While .Range("A" & Ligne) <> "" If datextrac = .Cells(Ligne, "S").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If Ligne = Ligne + 1 Loop End With End Sub '---------------------------
"none" <""pat"@(none)"> a écrit dans le message de news: 454dc525$0$14670$ Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.
Bonjour,
La variable datextrac était déclarée plus haut dans le code qui donne
maintenant ceci grace à votre aide (je n'ai pas encore fini, mais je ne
vais pas lacher prise!)
Sub Indic()
Dim datextrac As Date
Dim ligne As Integer
'Définition de la date d'extraction BO
Msg = "La date d'extration BO est-elle " & Date & " ?"
Ans = MsgBox(Msg, vbYesNo)
If Ans = vbYes Then datextrac = Date
If Ans = vbNo Then
datextrac = InputBox("Saisissez la date d'extraction BO au format
JJ/MM/AAA")
End If
'définition de la ligne de début
ligne = 3
'moulinette
With Sheets("Export")
Do While .Range("A" & ligne) <> ""
'Traitement des données de la ligne
If datextrac = .Cells(ligne, "S").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
'incrémentation
ligne = ligne + 1
Loop
End With
End Sub
Ce que ton code pourrait avoir l'air :
La lette S dans cette expression représente la colonne 19
de la ligne : Cells(Ligne, "S").
Attention, dans la procédure soumise, je n'ai pas vu à quel
moment la variable "datextrac" est renseignée...
Est-ce une variable Public ?
'---------------------------
Sub test()
Dim Ligne As Integer
Ligne = 3
With Sheets("Export")
Do While .Range("A" & Ligne) <> ""
If datextrac = .Cells(Ligne, "S").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
Ligne = Ligne + 1
Loop
End With
End Sub
'---------------------------
"none" <""pat"@(none)"> a écrit dans le message de news: 454dc525$0$14670$426a74cc@news.free.fr...
Bonjour,
Je suis débutant en VBA.
Je cherche à mettre le numéro de ligne selectionnée en variable puis de
créer un do Loop While pour parcourir les lignes d'un tableau (a chaque
boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer
Sheets("Export").Select
ligne = 3
'Sélection de la première ligne
Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle
If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne
If datextrac = Cell("19, ligne").Value Then
MsgBox "Il s'agit d'une entrée"
Else
MsgBox "J'ai pas encore regardé si il s'agit d'une sortie"
End If
'On passe à la ligne suivante et on regarde si la première 'cellule
est différente de Empty
ligne = ligne + 1
ActiveRow.Offset(1, 0).Select
Range("A:ligne).Select
Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider?
D'avance merci.
Bonjour, La variable datextrac était déclarée plus haut dans le code qui donne maintenant ceci grace à votre aide (je n'ai pas encore fini, mais je ne vais pas lacher prise!)
Sub Indic()
Dim datextrac As Date Dim ligne As Integer
'Définition de la date d'extraction BO Msg = "La date d'extration BO est-elle " & Date & " ?" Ans = MsgBox(Msg, vbYesNo) If Ans = vbYes Then datextrac = Date If Ans = vbNo Then datextrac = InputBox("Saisissez la date d'extraction BO au format JJ/MM/AAA") End If
'définition de la ligne de début ligne = 3
'moulinette With Sheets("Export") Do While .Range("A" & ligne) <> "" 'Traitement des données de la ligne If datextrac = .Cells(ligne, "S").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'incrémentation ligne = ligne + 1
Loop End With
End Sub
Ce que ton code pourrait avoir l'air :
La lette S dans cette expression représente la colonne 19 de la ligne : Cells(Ligne, "S").
Attention, dans la procédure soumise, je n'ai pas vu à quel moment la variable "datextrac" est renseignée... Est-ce une variable Public ?
'--------------------------- Sub test()
Dim Ligne As Integer Ligne = 3 With Sheets("Export") Do While .Range("A" & Ligne) <> "" If datextrac = .Cells(Ligne, "S").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If Ligne = Ligne + 1 Loop End With End Sub '---------------------------
"none" <""pat"@(none)"> a écrit dans le message de news: 454dc525$0$14670$ Bonjour,
Je suis débutant en VBA. Je cherche à mettre le numéro de ligne selectionnée en variable puis de créer un do Loop While pour parcourir les lignes d'un tableau (a chaque boucle, quelques cellules de la ligne sont traitées)
Dim ligne as integer Sheets("Export").Select ligne = 3
'Sélection de la première ligne Range("A:ligne").Select
'Si la cellule est différente de empty, on commence la boucle If ActiveCell.Value <> Empty Then
Do
'Traitement des cellule de la ligne If datextrac = Cell("19, ligne").Value Then MsgBox "Il s'agit d'une entrée" Else MsgBox "J'ai pas encore regardé si il s'agit d'une sortie" End If 'On passe à la ligne suivante et on regarde si la première 'cellule est différente de Empty ligne = ligne + 1 ActiveRow.Offset(1, 0).Select Range("A:ligne).Select Loop While ActiveCell.Value <> Empty
Y-a-t-il une personne qui puisse m'aider? D'avance merci.