Besion d'aide sur la copie en VB avec une condition SVP
Résolu
shakti14789
Messages postés
7
Statut
Membre
-
shakti14789 Messages postés 7 Statut Membre -
shakti14789 Messages postés 7 Statut Membre -
Bonjour,
j'ai fais un code pour que je puisse copier le contenu des cellule d'une colonne à une condition que les valeurs des cellule seront numérique; et voila le code :
alors là tous marche bien les valeurs numérique de la colonne J de la feuille 4 se déplacent à la colonne C de la feuille 5. Mais le problème c'est je veux que même les valeurs de la colonne I de la feuille 4 ce déplaceront, au même temps que les valeurs de la colonne J, à la colonne B de la feuille 5.
est ce qu'il y a quelqu'un qui peu m'aider à le faire car j'ai bloqué, et je ne suis qu'un débutant, et ça sera gentil de votre part.
EDIT: Ajout de la coloration syntaxique.
j'ai fais un code pour que je puisse copier le contenu des cellule d'une colonne à une condition que les valeurs des cellule seront numérique; et voila le code :
Sub Tst3()
Dim LastRowA As Long, cA As Range
Dim i As Long
LastRowA = Feuil4.Range("J" & Rows.Count).End(xlUp).Row
i = 1
Application.ScreenUpdating = False
Feuil5.Columns("C:C").ClearContents
For Each cA In Feuil4.Range("J1:J" & LastRowA)
If cA.Value <> "" Then
If IsNumeric(cA.Value) = True Then
Feuil5.Cells(i, 3) = cA.Value
i = i + 1
End If
End If
Next cA
Application.ScreenUpdating = True
End Sub
alors là tous marche bien les valeurs numérique de la colonne J de la feuille 4 se déplacent à la colonne C de la feuille 5. Mais le problème c'est je veux que même les valeurs de la colonne I de la feuille 4 ce déplaceront, au même temps que les valeurs de la colonne J, à la colonne B de la feuille 5.
est ce qu'il y a quelqu'un qui peu m'aider à le faire car j'ai bloqué, et je ne suis qu'un débutant, et ça sera gentil de votre part.
EDIT: Ajout de la coloration syntaxique.
3 réponses
-
Bonjour,
je veux que même les valeurs de la colonne I de la feuille 4 ce déplaceront, au même temps que les valeurs de la colonne J, à la colonne B de la feuille 5.
Que veux tu dire ?-
Bonjour, merci pour la réponse.
je veux dire que lorsque le VB trouve la valeur de cA voulu lors du test, au lieu de copier seulement la cellule trouver, il copiera aussi la cellule de la colonne qui est juste accoté de la première cellule.
donc à la fin du programme j'aurai la cellule de la colonne testée et une autre cellule qui est à la même ligne de celle-la.
j'espère que mon problème sera bien claire. merci.
-
-
Bonjour,
Sub Tst3() Dim LastRowA As Long, cA As Range Dim i As Long Dim cB, val LastRowA = Feuil4.Range("J" & Rows.Count).End(xlUp).Row i = 1 Application.ScreenUpdating = False Feuil5.Columns("C:C").ClearContents For Each cA In Feuil4.Range("J1:J" & LastRowA) If cA.Value <> "" Then If IsNumeric(cA.Value) = True Then cB = cA.Address cB = Replace(cB, "$J", "$I") val = Range(cB).Value Feuil5.Cells(i, 3) = cA.Value Feuil5.Cells(i, 2) = val i = i + 1 End If End If Next cA Application.ScreenUpdating = True End Sub
-
Cela fonctionne chez moi. Il faut bien sur que tu sois positionné sur ta Feuille4.
essaie ceci si tu n'as pas trop de ligne:
Sub Tst3() Dim LastRowA As Long, cA As Range Dim i As Long Dim cB, val LastRowA = Feuil4.Range("J" & Rows.Count).End(xlUp).Row i = 1 Application.ScreenUpdating = False Feuil5.Columns("C:C").ClearContents For Each cA In Feuil4.Range("J1:J" & LastRowA) If cA.Value <> "" Then If IsNumeric(cA.Value) = True Then cB = cA.Address MsgBox cB cB = Replace(cB, "$J", "$I") MsgBox cB val = Range(cB).Value MsgBox val Feuil5.Cells(i, 3) = cA.Value Feuil5.Cells(i, 2) = val i = i + 1 End If End If Next cA Application.ScreenUpdating = True End Sub