[vba] recopier informations, suite
Résolu
edi
-
edi -
edi -
Bonjour,
Je fais suite à un post qui, gràce a vous m'avait permis de recopier des informations d'un onglet à l'autre.
La macro marche super mais je voudrais l'améliorer
Dans la partie, où je remplis le tableau de mon onglet b, je voudrais pouvoir ajouter que si le numéro est pair,
je rajoute une information. Si le numéro est impair, je ne rajoute pas cette info.
Comment imbriquer mon if ?
For Each c In Range([AK2], [AK65536].End(xlUp))
i = 1
Do Until c.Value = num(0, i) Or i > nbNum
i = i + 1
Loop
If c.Value <> "" Then
If i <= nbNum Then
Worksheets("REPARTITION").Range(num(1, i)).Offset(1, 0) = c.Offset(0, -34) & " " & c.Offset(0, -35)
Worksheets("REPARTITION").Range(num(1, i)).Offset(2, 0) = c.Offset(0, -32) & " - " & c.Offset(0, -19)
Worksheets("REPARTITION").Range(num(1, i)).Offset(3, 0) = c.Offset(0, -31) & " - " & c.Offset(0, -18)
==> IF c.Value Not -(Number And 1), Then
==> Worksheets("REPARTITION").Range(num(1, i)).Offset(5, 1) = c.Offset(0, -23) & " - " & c.Offset(0, -24)
Else
nonTrouvé = nonTrouvé + 1
==> END IF
End If
End If
Next c
Merci d'Avance
ed
Je fais suite à un post qui, gràce a vous m'avait permis de recopier des informations d'un onglet à l'autre.
La macro marche super mais je voudrais l'améliorer
Dans la partie, où je remplis le tableau de mon onglet b, je voudrais pouvoir ajouter que si le numéro est pair,
je rajoute une information. Si le numéro est impair, je ne rajoute pas cette info.
Comment imbriquer mon if ?
For Each c In Range([AK2], [AK65536].End(xlUp))
i = 1
Do Until c.Value = num(0, i) Or i > nbNum
i = i + 1
Loop
If c.Value <> "" Then
If i <= nbNum Then
Worksheets("REPARTITION").Range(num(1, i)).Offset(1, 0) = c.Offset(0, -34) & " " & c.Offset(0, -35)
Worksheets("REPARTITION").Range(num(1, i)).Offset(2, 0) = c.Offset(0, -32) & " - " & c.Offset(0, -19)
Worksheets("REPARTITION").Range(num(1, i)).Offset(3, 0) = c.Offset(0, -31) & " - " & c.Offset(0, -18)
==> IF c.Value Not -(Number And 1), Then
==> Worksheets("REPARTITION").Range(num(1, i)).Offset(5, 1) = c.Offset(0, -23) & " - " & c.Offset(0, -24)
Else
nonTrouvé = nonTrouvé + 1
==> END IF
End If
End If
Next c
Merci d'Avance
ed
A voir également:
- [vba] recopier informations, suite
- Entrer les informations d'identification reseau - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Excel compter cellule couleur sans vba - Guide
- Vous n'avez pas fourni assez d'informations pour que google puisse s'assurer que ce compte vous appartient. google vous demande ces informations afin de protéger votre compte. - Guide
- Texte a recopier - Guide
1 réponse
bonjour,
Allez ! pour ceux qui seraient intéressés par la chooooose...
voici ce que j'ai finalement trouvé
If c.Value = Round((c.Value / 2), 0) * 2 Then
Worksheets("REPARTITION").Range(num(1, i)).Offset(4, 0) = c.Offset(0, -24) & " - " & c.Offset(0, -23)
Else
nonTrouvé = nonTrouvé + 1
End If
Ca marche super bien mais cela fait une boucle supplémentaire et sur 20 000 lignes, il faut doubler le temps de traitement de la macro.
ed
Allez ! pour ceux qui seraient intéressés par la chooooose...
voici ce que j'ai finalement trouvé
If c.Value = Round((c.Value / 2), 0) * 2 Then
Worksheets("REPARTITION").Range(num(1, i)).Offset(4, 0) = c.Offset(0, -24) & " - " & c.Offset(0, -23)
Else
nonTrouvé = nonTrouvé + 1
End If
Ca marche super bien mais cela fait une boucle supplémentaire et sur 20 000 lignes, il faut doubler le temps de traitement de la macro.
ed