Casse Tete

Résolu
mistersaku
Messages postés
38
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
21 octobre 2010
- 19 févr. 2007 à 08:33
mistersaku
Messages postés
38
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
21 octobre 2010
- 19 févr. 2007 à 14:53
Je cherche a resoudre plusieurs problemes a mon programme mais je ne trouve pas, y a t ill qqun de plus malin que moi pour me sortir de la, merci

Sub Macro2()


Dim a As Integer


  For a = 1 To 10
 
  If Worksheets("Sheet1").Cells(a, 3) = "Yes" Then
 
    Sheets("Sheet1").Select
    Range("B" & a).Select ' j'arrive uniquement a selectionner une cellule alors que je prendre la ligne entiere
    Selection.Copy
    Sheets("Sheet2").Select
   
    ' Y doit y avoir qqch de plus simple que ce qui suit sachant que je dois avoir 1000 lignes
   
      If Worksheets("Sheet2").Cells(1, 1) = "" Then
        Range("A1").Select
      End If
     
      If Worksheets("Sheet2").Cells(2, 1) = "" Then
        Range("A2").Select
      End If
 
      If Worksheets("Sheet2").Cells(3, 1) = "" Then
        Range("A3").Select
      End If
     
    ActiveSheet.Paste


   
    Rows("a:a").Select  ' Je cherche a selectionner la colonne ou j'ai l'information "Yes"
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
      
End If


Next a
  
End Sub

Des plus malins que moi y a que ca sur ce site alors merci d'avance pour votre aide.

5 réponses

jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
59
19 févr. 2007 à 08:40
Salut,
Pour une selection de ligne entiere essaie
- Rows(a & ":" & a).Select
- Ou bien encore  Range("B" & a).EntireRow.Select

pour la colonne c'est columns ou entirecolumn.

@+: Ju£i?n
Pensez: Réponse acceptée
3
Molenn
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
19 févr. 2007 à 14:24
Tu veux dire que tu dois faire cette condition 1000 fois c'est ça ? De 
  If Worksheets("Sheet2").Cells(1, 1) = "" Then
        Range("A1").Select
  End If

à

  If Worksheets("Sheet2").Cells(1000, 1) = "" Then
        Range("A1000").Select
  End If

Dans ce cas, il te suffit de créer une boucle

Dim i as integer
For i = 1 to 1000
     If Worksheets("Sheet2").Cells(i, 1) = "" Then
        Range("A"&i).Select
      End If
Next i

Molenn
3
mistersaku
Messages postés
38
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
21 octobre 2010

19 févr. 2007 à 09:15
Merci bcp du tuyau, ca marche tres bien j'ai plus qu'a regler mon dernier probleme

If Worksheets("Sheet2").Cells(3, 1) = "" Then
        Range("A3").Select
      End If
     
      If Worksheets("Sheet2").Cells(2, 1) = "" Then
        Range("A2").Select
      End If
 
      If Worksheets("Sheet2").Cells(1, 1) = "" Then
        Range("A1").Select
      End If
 ' Y doit y avoir qqch de plus simple que ce qui suit sachant que je dois avoir 1000 lignes
0
mistersaku
Messages postés
38
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
21 octobre 2010

19 févr. 2007 à 09:15
Merci bcp du tuyau, ca marche tres bien j'ai plus qu'a regler mon dernier probleme

If Worksheets("Sheet2").Cells(3, 1) = "" Then
        Range("A3").Select
      End If
     
      If Worksheets("Sheet2").Cells(2, 1) = "" Then
        Range("A2").Select
      End If
 
      If Worksheets("Sheet2").Cells(1, 1) = "" Then
        Range("A1").Select
      End If
 ' Y doit y avoir qqch de plus simple que ce qui suit sachant que je dois avoir 1000 lignes
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mistersaku
Messages postés
38
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
21 octobre 2010

19 févr. 2007 à 14:53
Merci pour votre aide a tous les deux
0