Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

copier des cellules remplis

  • Initiateur de la discussion Initiateur de la discussion djuju
  • 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 !

djuju

XLDnaute Nouveau
bonjour
je voudrais dans le tableau feuil1 que tout les articles ou il y a eu une non conformité de mise dans les 2 tableau feuil2 et feuil3 soit mis dans le tableau feuil1 avec l'article correspondant a cote
merci
 

Pièces jointes

Re : copier des cellules remplis

Bonsoir djudju, CISCO,

Je n'ai peut-être rien compris 😕

Code:
=SI(B3="";"";SI(NB.SI(Feuil2!A:A;B3);RECHERCHEV(B3;Feuil2!A:B;2;0);SI(NB.SI(Feuil3!B:B;B3);RECHERCHEV(B3;Feuil3!B:C;2;0);"")))
Fichier joint.

Edit : oui rien compris car pas vu les formules en colonne A...

A+
 

Pièces jointes

Dernière édition:
Re : copier des cellules remplis

bonsoir
oui c'est un peu dur
alors voila je vous donne le vrai tableau car j'ai eu du mal a transposer la formule sur le vrai
alors je voudrais dans mon tableau feuil consultation que les iem non conforme sur les 4 autres feuilles soit transposer sur celui ci ( item audite et nature de non conformite )
voila j'espere avoir ete assez clair
merci encore
 

Pièces jointes

Re : copier des cellules remplis

Bonsoir

Toujours avec une formule matricielle, un peu plus longue encore...

@ plus

P.S1 : Ne pas oublier d'aller voir la définition des noms pour comprendre la formule.

P.S2 : Si je trouve plus simple... je reviendrai poster.
 

Pièces jointes

Re : copier des cellules remplis

Bonjour djuju, CISCO, le forum,

Une solution VBA tout à fait classique :

Code:
Option Explicit
Option Compare Text 'la casse n'a pas d'importance

Sub Synthese()
Dim w As Worksheet, cel As Range, tablo$(), n&
For Each w In Worksheets
  If w.Name Like "audit*" Then
    For Each cel In w.[D:D].SpecialCells(xlCellTypeConstants)
      If Not cel Like "nature de non*" Then
        ReDim Preserve tablo(1, n)
        tablo(0, n) = cel.Offset(, -2)
        tablo(1, n) = cel
        n = n + 1
      End If
    Next
  End If
Next
Sheets("CONSULTATION").[C80:D10000].ClearContents
If n Then Sheets("CONSULTATION").[C80].Resize(n, 2) = Application.Transpose(tablo)
End Sub
Fichier .xls joint.

A+
 

Pièces jointes

Dernière édition:
Re : copier des cellules remplis

Re,

En fait pas besoin de bouton, la macro se lance quand on active la feuille CONSULTATION.

Clic droit sur l'onglet et Visualiser le code :

Code:
Option Explicit
Option Compare Text 'la casse n'a pas d'importance

Private Sub Worksheet_Activate()
Dim w As Worksheet, cel As Range, tablo$(), n&
For Each w In Worksheets
  If w.Name Like "audit*" Then
    For Each cel In w.[D:D].SpecialCells(xlCellTypeConstants)
      If Not cel Like "nature de non*" Then
        ReDim Preserve tablo(1, n)
        tablo(0, n) = cel.Offset(, -2)
        tablo(1, n) = cel
        n = n + 1
      End If
    Next
  End If
Next
[C80:D10000].ClearContents
If n Then [C80].Resize(n, 2) = Application.Transpose(tablo)
End Sub
Fichier (2).

A+
 

Pièces jointes

Re : copier des cellules remplis

bonjour et merci pour vos recherche
les deux solutions je suis en train de les analyser et je vais voir laquelle je prend
je vais pouvoir enfin finir mon tableau
encore merci
à bientot
 
Re : copier des cellules remplis

Re,

Pour en terminer avec VBA, si l'on veut une mise en forme du tableau, écrire :

Code:
Application.ScreenUpdating = False
[C80:D10000].Delete xlUp
If n = 0 Then Exit Sub
With [C80].Resize(n, 2)
  .Value = Application.Transpose(tablo)
  .Font.Size = 20 'taille police
  .Borders.LineStyle = 1 'bordures
End With
End Sub
Fichier (3).

Edit : ceci est mieux car évite Application.ScreenUpdating = False :

Code:
Range([C80].Offset(n), Cells(Rows.Count, "D")).Delete xlUp
If n = 0 Then Exit Sub
With [C80].Resize(n, 2)
  .Font.Size = 20 'taille police
  .Borders.LineStyle = 1 'bordures
  .Value = Application.Transpose(tablo)
End With
Fichier (3 bis)

A+
 

Pièces jointes

Dernière édition:
Re : copier des cellules remplis

Bonjour à tous, bonjour job75

Une autre solution, toujours avec une formule matricielle, un peu plus facile à comprendre, mais utilisant la même méthode. Il est évident qu'une solution avec macro est mieux adaptée.

@ plus
 

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

Discussions similaires

  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
223
Réponses
4
Affichages
266
Réponses
5
Affichages
402
Réponses
17
Affichages
781
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…