Problème pour un nouveau membre

  • Initiateur de la discussion Initiateur de la discussion titi49
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

titi49

Guest
bonjour à tous,

Me voici utilisateur débutant d'excel confronté à utiliser ce logiciel de manière avancé rapidement. C'est pourquoi je pense poser beaucoup de question durant les prochains mois.

Voici mon problème :

Je veux renvoyer en case A2 la phrase de titre de la colonne B si il y a un X en case B2 ou la phrase de titre de la colonne C si il y a un X en case C2... et ceux sur 5 colonnes au maximum.

Merci d'avance pour votre aide et vos réponses
 
Re : Problème pour un nouveau membre

Bonjour titi49, Bienvenue sur le forum,

Essaie ceci :

=si(b2="x";b1;si(c2="x";c1;si(d2="x";d1;si(e2="x";e1;si(f2="x";f1;"")))))

Sinon dépose nous un exemple de ton cas.

Bonne fin de journée.

Jean-Pierre
 
Re : Problème pour un nouveau membre

Merci à tous pour vos réponses.
J'avais trouvé la solution avec les SI... J'aimerais maintenant savoir si il est possible de garder les résultats présents (en colonne A) en supprimant toutes les source (Colonne B C D ...) de la formule
 
Re : Problème pour un nouveau membre

Bonjour à tous
Trois propositions à base de procédures événementielles :
  1. Un clic-droit sur l'en-tête d'une colonne renvoie la valeur de cet en-tête dans la cellule A2.
    Code:
    [COLOR="DarkSlateGray"][B]Private Sub Worksheet_BeforerightClick(ByVal Target As Range, Cancel As Boolean)
       If Not Intersect(Target, Range("B1:E1,G1:H1")) Is Nothing Then Range("A2").Value = Target.Value: Cancel = True
    End Sub[/B][/COLOR]
  2. Un double-clic sur l'en-tête d'une colonne renvoie la valeur de cet en-tête dans la cellule A2 et inscrit X en-dessous de l'en-tête.
    Code:
    [COLOR="DarkSlateGray"][B]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim plg As Range
       With Target
          Set plg = Range("B1:E1,G1:H1")
          If Not Intersect(.Cells, plg) Is Nothing Then
             Cancel = True
             Range("A2").Value = .Value
             plg.Offset(1, 0).ClearContents
             .Offset(1, 0) = "X"
          End If
       End With
    End Sub[/B][/COLOR]
  3. Écrire X (ou x) sous un en-tête de colonne et valider renvoie cet en-tête dans la cellule A2.
    Code:
    [COLOR="DarkSlateGray"][B]Private Sub Worksheet_CHange(ByVal Target As Range)
    Dim plg As Range
       With Target
          Set plg = Range("B2:E2,G2:H2")
          If Not Intersect(.Cells, plg) Is Nothing Then
             On Error GoTo E
             Application.EnableEvents = False
             If UCase(.Item(1).Value) = "X" Then
                plg.ClearContents
                .Value = "X"
                Range("A2").Value = .Offset(-1, 0).Value
             Else
                Range("A2").Value = ""
             End If
    E:       Application.EnableEvents = True
          End If
       End With
    End Sub[/B][/COLOR]
Dans ces exemples, les colonnes concernées sont B, C, D, E, G et H. On adaptera aux besoins en modifiant les lignes du genre
Code:
[COLOR="DarkSlateGray"][B]      Set plg = Range("B1:E1,G1:H1")[/B][/COLOR]
Les procédures sont à placer dans le module de la feuille concernée​
ROGER2327
#3072
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
36
Affichages
3 K
Retour