Soucis de recopie de données

vieuxray -  
 vieuxray -
Bonjour a toutes et tous, forum bonjour

Meilleurs Voeux a tous et bonne année



Excel 2007 VBA

Le petit code ci dessous me permets de recopier de la ligne 18 a 26 des données de cellules sans effacer les formules.
ligne 18 à 20 contiennent une formule avec somme
ligne 21 à 23 pas de formule mais des sommes en euros 128,15 € par Ex
ligne 24 à 25 contiennent des formules avec somme
ligne pas de formule mais des sommes en euros 1 289,15 € par Ex

tout est bien recopier SAUF les lignes 21-22-23 et 26
je pense que cela vient du code
 .SpecialCells(xlCellTypeConstants).ClearContents 
mauvaise formule pour recopier

Merci a vous et de votre temps

Cordialement Ray


'*** RECOPIER LES COLONNES ET LIGNES LE PREMIER JOUR DE CHAQUE MOIS AUTOMATIQUEMENT

With Cells(18, Month(Date) + 3).Resize(10, 1)
If Month(Date) > 1 Then
.Copy .Offset(0, 1)
.SpecialCells(xlCellTypeConstants).ClearContents '*Peut etre pas bonne formule ????
End If
End With

Calculate
End If '*** FIN DE RECOPIE

5 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    comprend pas trop ta manip mais...

    Dim Col  As Byte, Bloc()
    Col = Month(Date) + 3
    With Range(Cells(18, Col), Cells(26, Col))
    Bloc = Application.Transpose(.Value)
    .SpecialCells(xlCellTypeConstants).ClearContents
    End With
    Cells(18, Col + 1).Resize(9, 1) = Application.Transpose(Bloc)

    1
  2. vieuxray
     
    Salut michel-m

    Mes meilleurs voeux pour 2014 avec de l'argent et surtout beaucoup de santé

    Merci pour ta réponse
    ca ne fonctionne pas comme souhaiter en fait
    ça ne recopie rien mais efface tout sans rien recopier

    le but comme tu peux le voir sur la photo ci-jointe étant de recopier quelques lignes le premier de chaque mois

    Décembre 2013 viens de se terminer et il me faut copier P28:P26 vers E18:E26
    ensuite début février copier E18:E26 vers F18:F26 etc etc

    recopier les valeurs sans effacer les formules car certaines contiennent des formules sauf les lignes 21 22 23 et 26 qui n'en n'ont pas

    comme tu peux le voir certaines ont étées copier sauf les lignes sans formules, je ne comprends pas pourquoi

    http://cjoint.com/?3Acr2KxyKzP
    lien pour la photo

    Merci beaucoup pour ton aide et pour ton temps

    bonne soirée a toi

    Cdlt Ray
    0
  3. vieuxray
     
    Salut michel-m,

    J'ai revu un peu mon programme et du coup maintenat ton code fonctionne, merci.

    Seul petit soucis, les lignes 21 22 23 et 26 qui n'ont pas de formule, Mais qui comporte des valeurs en euros uniquement, elles par contre, ne sont pas recopiés.

    j'ai beau chercher mais je n'ai pas trouver

    Si svp une petite idée sur le problème, je suis preneur.

    Merci pour ton aide je te souhaite un agréable W-end

    Cdlt Raymond
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    tout est bien recopier SAUF les lignes 21-22-23 et 26

    j'avais compris qu'il ne fallait pas recopier les lignes sans formules d'où ma réaction : "comprend pas trop ta manip"

    si j'ai compris cette fois :-D
    enlève la ligne
    .SpecialCells(xlCellTypeConstants).ClearContents
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. vieuxray
     
    bonjour michel_m

    Merci pour ta réponse, je t'explique petite compta simple.
    et le but est:
    Recopier au premier de chaque mois la plage du mois Ex: janvier vers février ensuite février vers mars etc etc
    et cela automatiquement car j'ouvre mon programme tout les jours.

    refait essai en suivant tes conseils, voir photo ci-jointe svp

    et ca fonctionne toujours pas

    tout est bien recopier SAUF les lignes 21-22-23 et 26

    pas de formule dans ces lignes format classique de l'euro

    Merci pour ton aide bonne journée a toi

    Cdlt Ray

    lien pour la photo http://www.cjoint.com/?3AeljJPeEKN


    With Ws
    Dim Col As Byte, Bloc()
    Col = Month(Date) + 3

    With Range(Cells(18, Col), Cells(26, Col))
    'Bloc = Application.Transpose(.Value).SpecialCells
    (xlCellTypeConstants).ClearContents
    End With

    Cells(18, Col + 1).Resize(9, 1) = Application.Transpose(Bloc)
    End With
    0