Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2011, 23h06   #1
Futur Membre du Club
 
Homme
Étudiant
Inscription : août 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2011
Messages : 34
Points : 16
Points : 16
Par défaut Appel de fonction, portée des variables

Bonjour le forum,

Comment puis je faire en sorte qu'un macro ne prenne pas en compte les lignes cachées, par exemple (simple) :

Code :
1
2
3
4
5
6
7
For Each cell In range
    If cells (i, 1) = "Oui" then
            cell.Offset(1, 0).Value = "Oui"
        End If
    Else
End If
Next
si cell (i, 1) = "Oui" et que la ligne (i + 1) est cachée j'aimerai que "Oui" ne soit pas affiché en (i + 1, 1) mais en (i + 2, 1)

J'espère ne pas m'être trop mal exprimer et qu'il existe une solution.

Merci d'avance
PolyAmide est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2011, 23h10   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
bonsoir,
teste la propriété hidden de ta feuille

Code :
1
2
3
4
5
6
If cells (i, 1) = "Oui"   Then 
         if  cells (i, 1).EntireRow.Hidden   then
           'Cachée
          else
            'Pas cachée
           endif
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 13h09   #3
Futur Membre du Club
 
Homme
Étudiant
Inscription : août 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2011
Messages : 34
Points : 16
Points : 16
Bon du coup j'ai changer d'idée, j'ai rentré une fonction qui compte le nombre de ligne cachées.

Seulement, c'est la première fois que j'ai a faire appel à une fonction et je galère. voici le passage concerné:

Code :
1
2
3
4
5
If Cells(i, 3).Value = "Oui" Or Cells(i + 1, 3).Value = "Oui" Then
            Cells(i, ColTiree).Value = "OT#": Call CLC(i + 2)
            Cells(i + 2 + NbCachées, ColTiree).Value = "OT#": Call CLC(i + 4)
            Cells(i + 4 + NbCachées, ColTiree).Value = "OT#"
    End If
Et la fonction appelée:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Function CLC(ByVal k As Variant) 'compte les lignes caché entre k et la prochaine ligne visible
 
Dim NbCachées As Integer
 
NbCachées = 0
 
While Rows(k).Hidden = True
    NbCachées = NbCachées + 1
k = k + 1
Wend
 
End Function
Le problème est je pense la façon dont j'ai déclarer "NbCachées" car la fonction me compte bien les lignes correctement, mais NbCachées est vidée dès end function.

Comment prolonger la durée de vie de NbCachées jusqu'au prochain appel de la fonction ?
PolyAmide est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 13h31   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Je comprends pas trop ce que tu veux faire ...

mais bon lit cela : http://bbil.developpez.com/tutoriel/...ariables#LXIII

au sujet de la 'portée' des variables pour ton NbCachées (évite les accents dans les noms de variables et fonctions ...)
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 14h17   #5
Futur Membre du Club
 
Homme
Étudiant
Inscription : août 2011
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : août 2011
Messages : 34
Points : 16
Points : 16
C'est bon il fallait juste déclarer NbCachees comme public Tout en haut avant le premier sub
PolyAmide est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h50.


 
 
 
 
Partenaires

Hébergement Web