Re: formule
#11
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 12-11-2012 14h43
Bonjour mahelnawe, bonjour le forum,

Ta piste avec xlformats est très bien, essaie comme ceci:

Option Explicit
 
Sub Macro3()
 Dim c As Range, PlageA As Range, PlageB As Range
 
With Application
     'Bloque le rafraichissement écran
     .ScreenUpdating = False
     
    With Sheets("Feuil1")
         'Efface le contenu de la plage AC3:AR103
         .Range("AD3:AR103").ClearContents
         'Passe à l'instruction suivante s'il n'y a pas de cellules correpondantes
         On Error Resume Next
         'Boucle sur chaque cellule de la plage AC3:AC103 contenant une formule numérique
         For Each c In .Range("AC3:AC103").SpecialCells(xlCellTypeFormulas, 1)
             Set PlageA = .Range(c.Offset(0, -16), c.Offset(0, -2))
             Set PlageB = .Range(c.Offset(0, 1), c.Offset(0, 15))
             PlageA.Copy
             With PlageB
                .PasteSpecial Paste:=xlPasteValues
                .PasteSpecial Paste:=xlPasteFormats
            End With
         Next c
         'Retire les vides (vers le haut) de la zone copiée
         .Range("AD3:AR103").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
         On Error GoTo 0
     End With
     'Vide le presse papier
     .CutCopyMode = False
     'Rétablit l'affichage écran
     .ScreenUpdating = True
 End With
 End Sub
 

Bon après-midi,

mth
Hors Ligne
Rapport   Haut 

Re: formule
#12
Semi pro XLPages

Inscription: 30/01/2012
De Crévecoeur

Messages: 108

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 12-11-2012 15h45
Bonjour le Forum,Mth
En tout premiers un grand merci pour ton aide ,effectivement de cette façon ,moi j'avait essayer mais au bout de PlageB.PasteSpecial Paste:=xlPasteValues .... pourrai tu me dire et  m'explique si il est possible de rentre l'execution du code automatique .
l'execution depandent de la colone ac comme pour la copie
je me sui appercue que les donnée ce copie mais  rajoute des valeur lors de la copie des plages a la fin


Grand Grand merci pour ton aide
Edité par mahelnawe le 12/11/2012 16:33:28
Hors Ligne
Rapport   Haut 

Re: formule
#13
Semi pro XLPages

Inscription: 30/01/2012
De Crévecoeur

Messages: 108

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 12-11-2012 21h28
Bonsoir Le Forum,Mth
Le code fonctionne bien si les cellules à copiers contiennent toutes une valeur si certaine ne contienent rien la copie plante ,Comment fait t'on pour que les cellules à copier qui ne contiennent rien ne soit pas pris en compte lors de la copie ? en effet la copie doit ce faire comme indiquer sauf pour les cellules qui ne contiennent rien .
merci
Hors Ligne
Rapport   Haut 

Re: formule
#14
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 12-11-2012 22h11
Bonsoir,

Aucun décalage et aucun plantage de mon coté, que les cellules soient vides ou pas. Il est vrai qu'avec le fichier que nous nous a fourni, ...  ... ça permet de blinder les tests !

Si comme demandé au début tu pouvais enfin joindre un extrait de fichier représentatif de ton problème nous pourrions voir de quoi il s'agit au lieu de tourner en rond, non ?

Bonne soirée,

mth

Hors Ligne
Rapport   Haut 

Re: formule
#15
Semi pro XLPages

Inscription: 30/01/2012
De Crévecoeur

Messages: 108

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 13-11-2012 05h24

Bonjour le forum,Mth
Oui c vrai et c plus simple pour expliquer...


merci






Pièce jointe:
zip Classeur1.zip   [ Taille: 53.70 Ko - Téléchargements: 644 ]
Hors Ligne
Rapport   Haut 

Re: formule
#16
Accro XLPages

Inscription: 23/05/2008
De La Varenne Saint-Hilaire

Messages: 356

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 13-11-2012 21h53
Bonsoir mahelnawe, bonsoir à tous,

Merci pour ton fichier qui éclaircit pas mal de choses.
Peux-tu essayer ce code et nous dire:

Option Explicit

 Sub Macro3()
  Dim c As Range, PlageA As Range, PlageB As Range, i As Long
 
With Application
    .ScreenUpdating = False
     
    With Sheets("GY")
        .Range("AE3:AS1003").ClearContents
        On Error Resume Next
       
        For Each c In .Range("AC3:AC1003").SpecialCells(xlCellTypeFormulas, 1)
            Set PlageA = .Range(c.Offset(0, -15), c.Offset(0, -1))
            Set PlageB = .Range(c.Offset(0, 2), c.Offset(0, 16))
            PlageA.Copy
            With PlageB
                .PasteSpecial Paste:=xlPasteValues
                .PasteSpecial Paste:=xlPasteFormats
            End With
        Next c
       
        On Error GoTo 0
       
        For i = 13 To 3 Step -1
            If IsEmpty(.Cells(i, 31)) Then
                .Range(.Cells(i, 31), .Cells(i, 45)).Select
                .Range(.Cells(i, 31), .Cells(i, 45)).Delete Shift:=xlUp
            End If
        Next i
      End With
     
      .CutCopyMode = False
      .ScreenUpdating = True
End With

End Sub
   

 


Bonne soirée,

mth

Hors Ligne
Rapport   Haut 

Re: formule
#17
Semi pro XLPages

Inscription: 30/01/2012
De Crévecoeur

Messages: 108

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 14-11-2012 08h08
Bonjour le Forum,Mth
effectivement de cette maniere la copie s'execute correctement ,pour le declanchement automatique j'ai essayer ce code 
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If (Target.Column = 29) And (Target.Row = 3) Then
depl
End If
End Sub

celui-ci pointe sur la cellule ac3 mais comment faire pour que ce soit les changement dans la colone ac qui declanche la macro
merci
Hors Ligne
Rapport   Haut 

Re: formule
#18
Accro XLPages

Inscription: 17/08/2007
De Québec, Canada

Messages: 180

Système d'exploitation:
PC
Version Excel utilisée:
Excel 2003, 2007 (FR) & MsProject 2003
Posté le : 16-11-2012 00h01
 Salut le forum

Un petit tuto : Utilisation de la méthode Intersect

Mytå


Merci, de donner un retour à votre question, nous ne sommes pas des robots. [GMT - 5]
Le travail d'équipe est essentiel. En cas d'erreur, ça permet d'accuser quelqu'un d'autre.
Hors Ligne
Rapport   Haut 

Re: formule
#19
Semi pro XLPages

Inscription: 30/01/2012
De Crévecoeur

Messages: 108

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 16-11-2012 00h11
Bonsoir le Forum,Mth,Mytà,

Apres avoir beaucoup chercher, j'ai finalement trouver comment activé une macro par le resulta d'une cellules ...

à la suite de l'aide deja apporter ,je voudrai savoir si il serai possible de modifier le code pour qu'il soit aussi possible de faire la copie sur une autre feuil en utilisant la cellule $ae$2pour indique : EX:"en cellule $ae$2 est ecrit "feuil2b3" donc la copie va en feuil2 et commence cellule b3,ensuite est t'il possinle de changer la position des cellule que l'on copie en utilisant les cellules $ae$1:$as$1 pour indiquer le nouveau positionement



donc si ae1 contient 1 c la colonne n3 qui va ce copier en premier et les autre ensuite ,si ae1 contient 3 c la colonne p3 qui va ce copier les autre ensuite p3 pui n3 pui o3 pui q3 et anssi de suite  si ae1 contient 1 et af1 contient 4 alors se copie n3 pui q3 pui o3,p3,r3 et ainssi de suite



merci pour l'aide consacré ....



merci pour le tuto Mytà





Edité par mahelnawe le 17/12/2012 02:25:28
Hors Ligne
Rapport   Haut 

Re: formule
#20
Semi pro XLPages

Inscription: 30/01/2012
De Crévecoeur

Messages: 108

Système d'exploitation:
PC
Version Excel utilisée:
2010
Posté le : 04-01-2013 03h46
Bonjour le Forum ,
si on peu m'aider pour mon poste precedant . merci et bonne année
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