Savoir quelle case est active
#1
Aspirant XLPages

Inscription: 13/04/2010

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
excel 2007
Posté le : 26-04-2010 10h09
 Bonjour, 

J'avance petit à petit dans mon projet de rénovation du devis d'une entreprise mais depuis ce week end, je bloque sur un truc.

Voila le principe :

J'ai 3posts, dans chaque post, je peux avoir plusieurs sous-post, cela dépend du client. Entre chaque post, je dois créer 4lignes qui seront masquées. Si on écrit dans la case C1, la ligne 2 apparait, on écrit dans C2, la ligne 3 apparait, on écrit dans C11, la ligne 12 apparait.

Le soucis c'est que je ne vois pas comment faire la bonne ligne en fonction de la case précédente.

J'avais pensé à faire en fonction de la case active mais je ne vois pas comment savoir quelle est le numéro (ex: A1, A5,...) de la case active.

Je pensais faire un truc du genre :
If (activecell = A1) then
    Rows("1:2").Select
    Selection.EntireRow.Hidden = False
      else...
end if

Mais cela ne marche pas :x, je ne sais pas comment faire pour que la fonction "If (activecell = A1)" marche...

PS: si joins, un petit exemple


Pièce jointe:
xlsx Classeur1.xlsx   [ Taille: 10.86 Ko - Téléchargements: 460 ]
Edité par vodkaddict le 26/04/2010 14:18:51
Hors Ligne
Rapport   Haut 

Re: Savoir quelle case est active
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 26-04-2010 12h41
Bonjour vodkaddict, le Forum,

Pour connaître l'adresse d'une cellule ("A1" par exemple), il convient d'utiliser la propriété Address comme suit :

MsgBox ActiveCell.Address
'renvoie $A$1

MsgBox ActiveCell.Address(False)
'renvoie $A1

MsgBox ActiveCell.Address(, False)
'renvoie A$1

MsgBox ActiveCell.Address(False, False)
'renvoie A1
Pour tout savoir sur les arguments acceptés par cette propriété Address, consulter l'aide VBA (curseur d'édition sur le mot clé Address et appui sur la touche F1)

Cela dit, je te propose peut-être une autre façon de faire, que tu retrouveras dans le module de code de la feuille 1 dans ton fichier modifié en retour :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
'myDearFriend!  -  www.mdf-xlpages.com

    Set Target = Target(1)  'Evite plantage si plusieurs cellules sélectionnées
    If Not Application.Intersect(Target, Columns(3)) Is Nothing Then    'Contrôle colonne C
        If Target.Value <> "" Then
            With Rows(Target.Row + 1).EntireRow
                If .Hidden Then
                    .Hidden = False
                End If
            End With
        End If
    End If
   
End Sub

Cordialement,
Pièce jointe:
zip PourVodkaddict.zip   [ Taille: 10.26 Ko - Téléchargements: 422 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Savoir quelle case est active
#3
Aspirant XLPages

Inscription: 13/04/2010

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
excel 2007
Posté le : 26-04-2010 14h03
Woooh :O!

Encore une fois un grand merci... Je n'aurais jamais trouvé la 2ème solution tout seul >_>.

Merci ;) 
Hors Ligne
Rapport   Haut 

Re: Savoir quelle case est active
#4
Aspirant XLPages

Inscription: 13/04/2010

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
excel 2007
Posté le : 26-04-2010 15h36
Citation :
myDearFriend! a écrit : Bonjour vodkaddict, le Forum,

Pour connaître l'adresse d'une cellule ("A1" par exemple), il convient d'utiliser la propriété Address comme suit :

MsgBox ActiveCell.Address
'renvoie $A$1

MsgBox ActiveCell.Address(False)
'renvoie $A1

MsgBox ActiveCell.Address(False)
'renvoie A$1

MsgBox ActiveCell.Address(FalseFalse)
'renvoie A1


Humm pour la suite de mon programme j'ai besoin de savoir comment identifier la case active et j'avoue ne pas avoir bien compris ce que tu m'as dis...

Pour lancer la macro, je double clique sur la case où je veux que la "qualification" apparaisse

En fait, dans la colonne C, j'écris la qualification de la personne et dans la colonne D son nombre d'heure, le soucis c'est que, en fonction de la case où j'ai double cliqué, si je double clique sur C1, je dois écrire la valeur de la textbox1 dans D1 et ainsi de suite... Or je n'arrive pas à utiliser ce que m'a dit sur ActiveCell.Address

PS : Ci-joint le classeur avec ma macro (il faut double cliquer)
 

[EDIT]
Je viens de trouver, il suffisait d'utiliser la fonction ActiveCell.Offset(ligne,colonne)!

Pièce jointe:
xlsm Classeur1.xlsm   [ Taille: 19.95 Ko - Téléchargements: 405 ]
Edité par vodkaddict le 26/04/2010 16:05:46
Hors Ligne
Rapport   Haut 

Re: Savoir quelle case est active
#5
Accro XLPages

Inscription: 09/01/2008
De Montréal, Québec

Messages: 463

Système d'exploitation:
PC
Version Excel utilisée:
97 à 2016
Posté le : 26-04-2010 16h05
Bonjour vodkaddict,

As-tu un plan d'application quelconque?

Je m'explique. Tu veux monter une application de saisie de données, as-tu un schéma des données à monter.
Tu dis, par exemple, Citation :
je peux avoir plusieurs sous-post
, alors il y a une relation de un à plusieurs.
Pourquoi seulement quatre lignes à masquer ou afficher? Et pourquoi cherches-tu à masquer ou afficher ces lignes? La feuille est-elle une feuille de présentation ou bien plutôt une feuille de données? Ne serait-il pas préférable de séparer présentation et données? Du point de vue du programmeur c'est toujours souhaitable.

On peut construire des procédures à la pièce pour résoudre un problème que tu rencontres ici et là dans la construction de ton application de saisie. Si tu donnais plutôt le corpus schématique de ce que tu cherches à faire il serait plus simple de te guider que de coller des petits bouts de code ici et là.

Ceci dit, je salue la grande patience de Didier.

Cordialement,

Guy

Hors Ligne
Rapport   Haut 

Re: Savoir quelle case est active
#6
Aspirant XLPages

Inscription: 13/04/2010

Messages: 29

Système d'exploitation:
PC
Version Excel utilisée:
excel 2007
Posté le : 27-04-2010 11h50
Bonjour tout le monde,

Désolé si selon toi il n'y avait pas suffisamment d'information dans mes précédents posts. Il est difficile de savoir ce qu'il faut mettre ou pas.


Je ne voulais pas dire d'information que je ne jugeais pas vraiment utile, bien sur, si avant que MyDearFriend ne me donne la solution, tu m'avais dis que tu voulais plus de précisions, je te les auraient fournis.

Je préfère faire un 1er post avec peu d'information plutôt que de vous noyer d'information qui parfois peuvent être futiles.

En l'occurrence, MDF a compris ce que je voulais faire et je le remercie d'avoir pris de son temps pour me sortir de ce problème :).

Sur ce, bonne journée à vous et merci pour tout ce que vous faite
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes