Copier des colonnes de différents onglets

Bonjour,

En attendant le "retour" de curulis57, tu devrais préciser ce que tu appelles "un blocage": tu obtiens un message d'erreur? Si oui, lequel? Des données ont-elles déjà été copiées dans la feuille BDD? Si oui, jusqu'à quelle semaine?

Si la ligne est surlignée en jaune dans le code, que vaut la variable iRow1? sWk correspond à quelle feuille?

Bref, plus tu donneras de détails, mieux ce sera (et puis, en répondant aux questions ci-dessus, tu pourrais trouver la source du problème par toi-même)

Bonjour

Voila ce que ça me mets avec le fichier que curulis57 à modifier.

erreur bva erreur 2

Bonjour Escadron,

U.Milité, déjà au taquet? Comme les scouts, toujours prêt?

Escadron, je suppose que tu as essayé le code sur le fichier complet de 250 feuilles !?

Quel que soit le code qu'on te propose, il ne peut s'appliquer que sur ce que nous avons en main.

Procure-nous le fichier original et nous pourrons ajuster en fonction de ce que nous découvrirons comme surprises!

A+

Le fichier fait 5 mo , ça ne passe pas sur le site

Cdlt

Re-bonjour,

Dans l'éditeur vba, la fenêtre des variables locales est-elle affichée ? (si pas, voir dans le menu affichage).

Dans cette fenêtre quand tu es en mode débogage (après le message d'erreur), cherche la variable iRow1 et regarde sa valeur. Cherche ensuite la variable sWk ... à quelle feuille correspond-t-elle? Avec ces deux infos, regarde dans la feuille x à la ligne y s'il n'y aurait pas des cellules non-vides beaucoup plus bas que tu ne l'imaginais

curulis57 a écrit :

U.Milité, déjà au taquet? Comme les scouts, toujours prêt?

Ah ça, c'est pas comme ces Romains: toujours à se remettre de l'orgie de la veille

Re

C'est de ça que tu parles ?

variable locale

Cdlt

Re bonjour

Décidement je ne comprendrai jamais rien au mystère de l'informatique

je fais une copie du fichier original et j'ai intégré le code de curuli57 et la je sais pas si c'est un miracle mais ça fonctionne

En tous les cas merci de votre aide

J'aurai surement encore des choses à demander!

Cdlt

Salut tout le monde,

de mon côté, en ouvrant ton fichier, j'ai trouvé toutes les données DATE corrompues sans moyen de les récupérer : que des '#'!

Forcément, le code plantait comme tu l'indiquais!

Si cela fonctionne à nouveau sur ton nouveau fichier, tant mieux!

Bon WE!

A+

Bonjour le forum

Je reviens sur mon fichier, dans l'onglet Opérations 16 (les colonnes sont cachés) il est possible que par un surcroit de travail une personne supplémentaire soit la, donc dans cette onglet le total des heures ne se fait plus en en colonne AF mais en AK.

Comment faire pour que dans l'onglet BDD avec la macro que vous m'avez fait puisse prendre en compte ces colonnes suppémentaires.

Merci à vous

Cordialement

Salut escadron,

pas trop le temps de jouer avec ton ZIP mais ceci devrait faire l'affaire.

Ce sont ces lignes qui adaptent la capture d'info en [AF] ou autre.

A tester.

Private Sub cmdGO_Click()

'

iCol = sWk.Cells(5, Columns.Count).End(xlToLeft).Column

sCol = Split(Columns(iCol).Address(ColumnAbsolute:=False), ":")(1)

tDataAF = sWk.Range(sCol & "6:" & sCol & iRow1).Value

'

End Sub

Private Sub cmdGO_Click()
'
Dim sWk As Worksheet
Dim tDataA, tDataD, tDataAF
Dim iRow As Integer, iRow1 As Integer
'
Application.ScreenUpdating = False
iRow = Range("M" & Rows.Count).End(xlUp).Row
If iRow > 1 Then Range("L2:O" & iRow).ClearContents
'
For Each sWk In Sheets
    If Left(sWk.Name, 5) = "Opéra" Then
        iRow = Range("M" & Rows.Count).End(xlUp).Row
        iRow1 = sWk.Range("D" & Rows.Count).End(xlUp).Row
        tDataA = sWk.Range("A6:A" & iRow1).Value
        tDataD = sWk.Range("D6:D" & iRow1).Value
        iCol = sWk.Cells(5, Columns.Count).End(xlToLeft).Column
        sCol = Split(Columns(iCol).Address(ColumnAbsolute:=False), ":")(1)
        tDataAF = sWk.Range(sCol & "6:" & sCol & iRow1).Value
        iRow1 = iRow + UBound(tDataD, 1)
        Range("L" & iRow + 1 & ":L" & iRow1).Value = sWk.[B3]
        Range("M" & iRow + 1 & ":M" & iRow1).Value = tDataA
        Range("N" & iRow + 1 & ":N" & iRow1).Value = tDataD
        Range("O" & iRow + 1 & ":O" & iRow1).Value = tDataAF
    End If
Next
Application.ScreenUpdating = True
'
End Sub

A+

Merci curulis57

Rechercher des sujets similaires à "copier colonnes differents onglets"