Rettrouver une cellule de la feuille 1 sur la feuille >2

Bonjour,

Je suis automaticien de profession, je connais le grafcet mais suis incapable de le rédiger en VBA

Pouvez-vous perdre un peu de temps à m’aider, SVP

Mon souhait est => Si dans ma cellule A2 de la feuille 1 il y un « X » alors je reporte le contenu de ma cellule A3 sur la feuille 2

Si dans ma cellule A5 de la feuille 1 il y un « X » alors je reporte le contenu de ma cellule A6 sur la feuille 2

Si dans ma cellule C2 de la feuille 1 il y un « X » alors je reporte le contenu de ma cellule C3 sur la feuille 2

Etc.

je vous un fichier exemple

Merci de votre aide

6liste-0.xlsx (9.85 Ko)

Bonjour,

Une proposition à étudier.

La procédure VBA est exécutée à l'activation de Feuil2.

Cdlt.

5liste-0.xlsm (16.04 Ko)

Salut Ewoks,

un double-clic dans la feuille de données active la macro avec résultats en 'Extract'

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tData, tExtract(), iIdx%
'
Cancel = True
'
iIdx = WorksheetFunction.CountIf(UsedRange, "X")
tData = UsedRange.Value
ReDim tExtract(iIdx, 1)
iIdx = -1
'
For x = 1 To UBound(tData, 2) Step 2
    For y = 1 To UBound(tData, 1)
        If tData(y, x) = "X" Then
            iIdx = iIdx + 1
            tExtract(iIdx, 0) = tData(y, x + 1)
        End If
    Next
Next
'
With Worksheets("Extract")
    .Cells.Delete
    .Range("A1").Resize(iIdx + 1, 1).Value = tExtract
    .Columns(1).AutoFit
    .Activate
End With
'
End Sub

A+

Salut Jean-Eric, en mode réponse, je n'avais pas vu que tu avais dégainé plus vite encore...

A+

5listex.xlsm (17.12 Ko)

Re

Réponse plus rapide que la poste.

Un grand merci pour ce coup de main, c'est exactement ce que je souhaitais

Merci

Re,

Bonjour Curulis57,

Une version révisée de la solution initiale.

Cdlt.

Private Sub Worksheet_Activate()
Dim ws As Worksheet, rng As Range, i As Long, j As Long, rw As Long
    Me.Cells.ClearContents
    Set ws = ActiveWorkbook.Worksheets("Feuil1")
    Set rng = ws.Cells(1).CurrentRegion: rw = 2
    With rng
        For j = 1 To rng.Columns.Count Step 2
            For i = 1 To rng.Rows.Count
                If UCase(.Cells(i, j).Value) = "X" Then
                    Me.Cells(rw, 1).Value = .Cells(i, j).Offset(, 1).Value
                    rw = rw + 1
                End If
            Next i
        Next j
    End With
End Sub

bonjour

une contrbution sans vba

23ewoks.xlsx (16.26 Ko)

cordialement

Encore merci a vous pour ce suivie et coup de main.

Bonne soirée

Bonsoir

Encore un petit service sur ce cote.

Lorsque tout est reporté sur la feuille 2 comment faire pour conserver les cellules A2 a A11,

Reporter les A12 a A21 automatiquement vers B2 a B11

Les A22 a A31 les reporter vers C2 a C11.

Les A32 a A41 les reporter vers D2 a D11.

Bien il faut effacer les reporter

Une fois fait cela me servira pour une macro de centrage Horizontale et vertical (le je sais faire)

SVP

Merci de votre aide

1mes-courses.xlsm (27.16 Ko)

Bonjour,

Pour le fun !...

Les procédures ne sont pas optimisées et toutes les données sont sous forme de tableaux structurés (dynamiques).

Tu peux changer les couleurs.

A te relire.

5mes-courses.xlsm (49.72 Ko)

Bonsoir

Que demander de plus, rien franchement parfait. Et plus, le nouveau désigne a de la classe.

Un grand MERCI

Re

Et si encore une demande sur le sujet, en fait comme la liste doit être imprimée sur un format A4 il faut tout réorganiser la feuille 2.

J'ai essayé d'incorporer une macro sur le code source et la erreur 40.

Donc manque de compétence en excel.

Puis-je avoir de l'aide

Merci

Bonjour,

Je regarde, mais il va être difficile de te satisfaire.

Cdlt.

Bonjour

Super sympas.

A la limite si tout peut être cassé en diminuant la police pourquoi pas.

Sinon une impression sur une feuille A4 en recto verso.

Au pire je ferais une macro a coté en supplément sans être incorporé a ta routine

Merci de ton aide et du temps accordé.

Bonne journée

Bonjour,

Une nouvelle proposition.

A te relire.

Re

Merci pour le temps que tu m'as accordé.

C'est parfaitement ce que je souhaitais.

Encore merci

Bonjour

Je reviens pour une nouvelle demande. On m'a demandé d'y mettre la date en autres bref des poussières.

Par contre comment faire pour changer la couleur de la case du produit sélectionner sans passe par l'onglet condition.

En gros je coche C9 et la couleur de B9 passe en jaune en VBA.

Merci pour votre temps accordé

Bon WE

Bonjour,

Je te renvoie la chose avec la modification demandée.

A te relire.

Cdlt.

Bonjour Jean Eric,

Merci a toi pour cette nouvelle réponse.

Réponse totalement satisfaisante a ma demande.

Bon WE

Bonjour.

Le dernier fichier proposer par Jean-Luc fonctionne a la merveille.

Mais voila qu'un membre du club tente de le faire fonctionner sous excel (2013 ou 2016) installé sur Mac et la il plante.

Il plante car les "commandButton" reste en mode création. Je ne trouva pas sous Mac comment enlever dans "développement => création".

Auriez-vous une idée, SVP

Merci

Bonjour,

Ton fichier en retour pour une utilisation sous Mac.

A te relire.

Cdlt.

Rechercher des sujets similaires à "rettrouver feuille"