Probleme avec ActiveSheet.Next sous VBA

Résolu
NicuxUSA Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
NicuxUSA Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je debute en programmation VBA et j'ai besoin d'un peu d'aide...

En gros, j'ai fait un code qui denombre sur une feuille excel (fichier "data.xls") diverses successions de chiffres sur une meme colonne, et ensuite reporte cette valeur sur un autre fichier excel "data-extracted.xls".
Le probleme c'est que ensuite, le code doit etre capable de revenir au premier fichier excel (data.xls), et passer à la feuille suivante pour continuer l'analyse (jusqu'à ce qu'il ait analysé toutes les feuilles du fichier "data.xls").
J'utilise la fonction "ActiveSheet.Next.Select" pour passer à la feuille suivante, sauf que ça marche pas, il ne lit les data que sur la premiere feuille de depart.

Pouvez vous m'aider, s'il vous plait?

Merci d'avance

Le code VBA est le suivant:

Private Sub CommandButton1_Click()

Dim rCount As Integer
Dim compta As Single
Dim comptc As Single

rCount = 4

Do

compta = 0
comptc = 0

For i = 16 To 300
If Cells(i, 3).Value = 1 And (Cells(i + 1, 3).Value = 4 Or Cells(i + 1, 3).Value = 5 Or Cells(i + 1, 3).Value = 6) Then
compta = compta + 1
End If
Next i

For i = 16 To 300
If Cells(i, 3).Value = 4 And (Cells(i + 1, 3).Value = 5 Or Cells(i + 1, 3).Value = 6) Then
comptc = comptc + 1
End If
Next i

'collage des resultats dans le fichier data.xls
Windows("data-extracted.xls").Activate

Worksheets("Input").Cells(rCount, 2).Value = compta
Worksheets("Input").Cells(rCount, 4).Value = comptc

rCount = rCount + 1

' retour au fichier de data
Windows("data.xls").Activate 'Go back to file
ActiveSheet.Next.Select

Loop

End Sub
A voir également:

5 réponses

ruzakruzak Messages postés 459 Date d'inscription   Statut Membre Dernière intervention   247
 
Essaie d'activer une range dans la feuille que tu viens de sélectionner. Si seule la feuille est active et aucune cellule, ça ne marchera jamais.
0
NicuxUSA Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour ta reponse. Le truc c'est que je viens d'essayer mais cela ne fonctionne pas, ou alors c'est que je ne suis pas capable d'ecrire la commande de façon satisfaisante.
Pourrais tu me dire, s'il te plait, ce que tu r'ajouterais à ma ligne de commande?

Merci d'avance
0
NicuxUSA Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
ou dois je placer la commande d'activation de range dans mon code?
0
Utilisateur anonyme
 
Bonjour,

Pour ma part, votre code fonctionne bien à l'exception de la boucle :


Do
  ...
Loop Until (rCount < 16) ???


Il n'y a pas de test de fin dans la boucle ???

Il n'y a pas non plus de test de fin pour la dernière feuille du classeur ???

        ' retour au fichier de data
        Windows("data.xls").Activate 'Go back to file
        If (ActiveSheet.Name = "Fin") Then
            DoEvents
            'MsgBox "Dernière feuille!"
        Else
            ActiveSheet.Next.Select
        End If


Lupin
0

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

Posez votre question
NicuxUSA Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour votre reponse,

Grace à l'ajout du test de fin pour la dernière feuille du classeur et l'ajout à la boucle Do until, tout fonctionne parfaitement maintenant c'est parfait!

Thanks!
0