Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro avec 2 repeat conditions

T

Temjeh

Guest
Bonsoir le forum

Macro qui copie et delete des lignes....
J'aimerais juste savoir le code pour macro1 avec condition:

Tant que A1 n'est pas vide et que A10 est vide il exécute macro1 à répétition !!

Si A10 n'est pas vide.....exit sub
Si A1 devient vide il ne repète plus macro1 et exit sub

j'ai testé ce début sans résultat:

If Range("A1") <> "" Then
If Range("A10") = "" Then
Macro1
Else
Exit Sub
If Range("A1") <> "" Then
If Range("A10") = "" Then
Macro1
Else
Exit Sub
End If
End If
End If
End If

Merci beaucoup

Temjeh
 
G

Gérard DEZAMIS

Guest
Bonjour Temjeh

Je suis au raz des paquerettes en VBA mais ... une petite piste
essaye avec une écritude de ce type :

If Range("A1") <> "" And Range("A10") = "" Then

@+ GD
 
T

Temjeh

Guest
Merci Gérard mais ca fonctionne pas(moi aussi j'avais essayé avec and)

Voici une macro que j'ai fais(aulieu de ..exécute macro1 j'ai mis la macro)

Debut:
If Range("A1") <> "" Then
Range("A3").Select
Selection.EntireRow.Delete
Range("A1:A3").Select
Selection.Cut
Range("A2000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Range("A1:A9").Select
Selection.Delete Shift:=xlUp
Range("A989").Select
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Range("A1:A9").Select
Else
Exit Sub
End If
GoTo Debut

Et si je met ta ligne ca marche pas

Debut:
If Range("A1") <> "" And Range("A10") = "" Then
Range("A3").Select
Selection.EntireRow.Delete
Range("A1:A3").Select
Selection.Cut
Range("A2000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Range("A1:A9").Select
Selection.Delete Shift:=xlUp
Range("A989").Select
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Range("A1:A9").Select
Else
Exit Sub
End If
GoTo Debut

Merci

Temjeh
 
T

Temjeh

Guest
Merci beaucoup mais ca fonctionne pas

Je joint un démo

A++

Temjeh
 

Pièces jointes

  • Trie.zip
    22.4 KB · Affichages: 15
  • Trie.zip
    22.4 KB · Affichages: 17
  • Trie.zip
    22.4 KB · Affichages: 18
P

Pascal76

Guest
RE

Ton problème vient du fait qu'en fait tes cellules ne sont pas vides mais ont un espace.

Donc ta condition Range("A10") = "" ou autre n'est jamais vérifié

Pascal
 
P

Pascal76

Guest
Re,

regardes en tenant compte de l'espace si c'est cela qui te va

Pascal
 

Pièces jointes

  • Trie.zip
    20.6 KB · Affichages: 20
  • Trie.zip
    20.6 KB · Affichages: 24
  • Trie.zip
    20.6 KB · Affichages: 23
T

Temjeh

Guest
Merci beaucoup Pascal

Les données que je copies son de l'internet et je fait un copier coller donc c'est pour cela que je ne m'en était pas rendu compte.

Effectivement toutes les memes donnés(des centaines de lignes) ont cette espace.

Merci je doit partir

j'essairai de mettre avant la macro un genre de supprime espace avant

A++

Temjeh
 

Discussions similaires

Réponses
4
Affichages
234
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…