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
FxM
Bonjour Dominique,
d'une part > de A7 à dernière ligne j ai de "1 à 10" d'autre part > derlig = .Range("A7").End(xlUp).Row > For i = 7 To derlig
pour déterminer derlig, tu pars de A7 [.range("A7")] en remontant [.End(xlup)]. Je pense qu'il faudrait : - soit que tu montes à partir du bas de feuille > derlig = .Range("A" & .rows.count).End(xlUp).Row - soit que tu descendes si tu es sur de ne pas avoir de cellules vides > derlig = .Range("A7").End(xlDown).Row
@+ FxM
Dominique a écrit :
bonjour le forum
je m entraine a comprendre le vb. je me suis fais cet exercice pour comprendre
de A7 à dernière ligne j ai de "1 à 10" de b7 à dernière ligne j ai des lettres
je voudrais si dans les cellules A la valeur est superieure à 5 copier la lettre correspondante dans la cellule c
j ai fait ceci met ca ne marche pas et il y a pas de bug
Sub test2() Dim derlig As Integer
With Sheets("feuil2") derlig = .Range("A7").End(xlUp).Row For i = 7 To derlig If Cells(i, 1) > 5 Then .Range("b" & i).Copy .Range("c" & i)
End If
Next i End With
End Sub
Pouvez vous m expliquez ce qui ne va pas? et ce qu il faut que j ameliore merci
Bonjour Dominique,
d'une part
> de A7 à dernière ligne j ai de "1 à 10"
d'autre part
> derlig = .Range("A7").End(xlUp).Row
> For i = 7 To derlig
pour déterminer derlig, tu pars de A7 [.range("A7")] en remontant
[.End(xlup)]. Je pense qu'il faudrait :
- soit que tu montes à partir du bas de feuille
> derlig = .Range("A" & .rows.count).End(xlUp).Row
- soit que tu descendes si tu es sur de ne pas avoir de cellules vides
> derlig = .Range("A7").End(xlDown).Row
@+
FxM
Dominique a écrit :
bonjour le forum
je m entraine a comprendre le vb.
je me suis fais cet exercice pour comprendre
de A7 à dernière ligne j ai de "1 à 10"
de b7 à dernière ligne j ai des lettres
je voudrais si dans les cellules A la valeur est superieure à 5 copier
la lettre correspondante dans la cellule c
j ai fait ceci met ca ne marche pas et il y a pas de bug
Sub test2()
Dim derlig As Integer
With Sheets("feuil2")
derlig = .Range("A7").End(xlUp).Row
For i = 7 To derlig
If Cells(i, 1) > 5 Then
.Range("b" & i).Copy .Range("c" & i)
End If
Next i
End With
End Sub
Pouvez vous m expliquez ce qui ne va pas? et ce qu il faut que j ameliore
merci
d'une part > de A7 à dernière ligne j ai de "1 à 10" d'autre part > derlig = .Range("A7").End(xlUp).Row > For i = 7 To derlig
pour déterminer derlig, tu pars de A7 [.range("A7")] en remontant [.End(xlup)]. Je pense qu'il faudrait : - soit que tu montes à partir du bas de feuille > derlig = .Range("A" & .rows.count).End(xlUp).Row - soit que tu descendes si tu es sur de ne pas avoir de cellules vides > derlig = .Range("A7").End(xlDown).Row
@+ FxM
Dominique a écrit :
bonjour le forum
je m entraine a comprendre le vb. je me suis fais cet exercice pour comprendre
de A7 à dernière ligne j ai de "1 à 10" de b7 à dernière ligne j ai des lettres
je voudrais si dans les cellules A la valeur est superieure à 5 copier la lettre correspondante dans la cellule c
j ai fait ceci met ca ne marche pas et il y a pas de bug
Sub test2() Dim derlig As Integer
With Sheets("feuil2") derlig = .Range("A7").End(xlUp).Row For i = 7 To derlig If Cells(i, 1) > 5 Then .Range("b" & i).Copy .Range("c" & i)
End If
Next i End With
End Sub
Pouvez vous m expliquez ce qui ne va pas? et ce qu il faut que j ameliore merci
Pour l'apprentissage de VBA, une autre façon de faire (il y en a une multitude) :
Sub test2()
Dim Plage As Range Dim Cel As Range
'les crochets [] sont équivalents 'à la fonction "Evaluate" 'défini la plage de travail 'à partir de A7 With Worksheets("feuil2") Set Plage = .Range(.[A7], .[A65536].End(xlUp)) End With
'parcour les cellules de la plage (A7 à Ax) 'et copie les lettres correspondantes 'dans la colonne C For Each Cel In Plage If Cel > 5 Then Cel.Offset(0, 2) = Cel.Offset(0, 1) End If Next Cel
'libère la mémoire Set Cel = Nothing Set Plage = Nothing
End Sub
Hervé.
"Dominique" a écrit dans le message de news:un9Uj%
bonjour le forum
je m entraine a comprendre le vb. je me suis fais cet exercice pour comprendre
de A7 à dernière ligne j ai de "1 à 10" de b7 à dernière ligne j ai des lettres
je voudrais si dans les cellules A la valeur est superieure à 5 copier la lettre correspondante dans la cellule c
j ai fait ceci met ca ne marche pas et il y a pas de bug
Sub test2() Dim derlig As Integer
With Sheets("feuil2") derlig = .Range("A7").End(xlUp).Row For i = 7 To derlig If Cells(i, 1) > 5 Then .Range("b" & i).Copy .Range("c" & i)
End If
Next i End With
End Sub
Pouvez vous m expliquez ce qui ne va pas? et ce qu il faut que j ameliore merci
Bonsoir Dominique,
Pour l'apprentissage de VBA, une autre façon de faire (il y en a une
multitude) :
Sub test2()
Dim Plage As Range
Dim Cel As Range
'les crochets [] sont équivalents
'à la fonction "Evaluate"
'défini la plage de travail
'à partir de A7
With Worksheets("feuil2")
Set Plage = .Range(.[A7], .[A65536].End(xlUp))
End With
'parcour les cellules de la plage (A7 à Ax)
'et copie les lettres correspondantes
'dans la colonne C
For Each Cel In Plage
If Cel > 5 Then
Cel.Offset(0, 2) = Cel.Offset(0, 1)
End If
Next Cel
'libère la mémoire
Set Cel = Nothing
Set Plage = Nothing
End Sub
Hervé.
"Dominique" <dobidon@orange.fr> a écrit dans le message de
news:un9Uj%23mSKHA.4692@TK2MSFTNGP06.phx.gbl...
bonjour le forum
je m entraine a comprendre le vb.
je me suis fais cet exercice pour comprendre
de A7 à dernière ligne j ai de "1 à 10"
de b7 à dernière ligne j ai des lettres
je voudrais si dans les cellules A la valeur est superieure à 5 copier la
lettre correspondante dans la cellule c
j ai fait ceci met ca ne marche pas et il y a pas de bug
Sub test2()
Dim derlig As Integer
With Sheets("feuil2")
derlig = .Range("A7").End(xlUp).Row
For i = 7 To derlig
If Cells(i, 1) > 5 Then
.Range("b" & i).Copy .Range("c" & i)
End If
Next i
End With
End Sub
Pouvez vous m expliquez ce qui ne va pas? et ce qu il faut que j ameliore
merci
Pour l'apprentissage de VBA, une autre façon de faire (il y en a une multitude) :
Sub test2()
Dim Plage As Range Dim Cel As Range
'les crochets [] sont équivalents 'à la fonction "Evaluate" 'défini la plage de travail 'à partir de A7 With Worksheets("feuil2") Set Plage = .Range(.[A7], .[A65536].End(xlUp)) End With
'parcour les cellules de la plage (A7 à Ax) 'et copie les lettres correspondantes 'dans la colonne C For Each Cel In Plage If Cel > 5 Then Cel.Offset(0, 2) = Cel.Offset(0, 1) End If Next Cel
'libère la mémoire Set Cel = Nothing Set Plage = Nothing
End Sub
Hervé.
"Dominique" a écrit dans le message de news:un9Uj%
bonjour le forum
je m entraine a comprendre le vb. je me suis fais cet exercice pour comprendre
de A7 à dernière ligne j ai de "1 à 10" de b7 à dernière ligne j ai des lettres
je voudrais si dans les cellules A la valeur est superieure à 5 copier la lettre correspondante dans la cellule c
j ai fait ceci met ca ne marche pas et il y a pas de bug
Sub test2() Dim derlig As Integer
With Sheets("feuil2") derlig = .Range("A7").End(xlUp).Row For i = 7 To derlig If Cells(i, 1) > 5 Then .Range("b" & i).Copy .Range("c" & i)
End If
Next i End With
End Sub
Pouvez vous m expliquez ce qui ne va pas? et ce qu il faut que j ameliore merci