IF et format colonne/lignes

Bonjour,
J’ai crée une macro qui me permet de récupérer dans une feuille synthétisée les données contenues dans 2 autres onglets.
Je suis parvenue en utilisant les fonctions If mais en me basant sur le fait que le format ne bougeait pas dans les 2 onglets (le colonnes et les lignes restaient à l’identique).
Le problème, c’est que les colonnes B et O ont été inversées, les variables (CC/GA/CB/CF; op/mar/cont/cre) ne sont plus dans le même ordre dans les colonnes A et B.

Exemple d’un bout de code (du coup qui ne marche plus):
"If feuilleonglet1.Range(“A19”) = “CB” And feuilleonglet1.Range(“B22”) = "opThen
feuillesynt.Cells(35, Columns.Count).End(xlToLeft).Offset(, 1).Select
Selection.Value = feuilleonglet1.Range(“O22”) / 1000
Else
MsgBox “Mismatch”
End If

Comment je peux améliorer en cherchant mes variables sans avoir à indiquer le numéro de ligne ou colonne ?Merci,
Test.xlsx (13,5 Ko)

Bonjour,
Dans votre fichier exemple, il n’y a pas de feuillesynt afin de savoir à quoi correspond la ligne 35 qui est vide dans les feuilles onglets
Ensuite, pour moi une synthèse c’est le regroupement des données de feuilles, or je ne comprends pas cette ligne de macro : Selection.Value = feuilleonglet1.Range(“O22”) / 1000

Hello, désolé je n’ai pas été très claire.
je joins le fichier corrigé avec l’onglet “feuillesynt”.

Je reprends le code :
"If sheets (“onglet2”).Range(“A19”) = “CB” And sheets (“onglet2”).Range(“B20”) = “Total R.” Then
feuillesynt.Cells(7, Columns.Count).End(xlToLeft).Offset(, 1).Select
Selection.Value = sheets (“onglet2”).Range(“P20”) / 1000
Else
MsgBox “Mismatch”
End If

On voit que mon code n’est pas bon car à la ligne 7-feuillesynth, j’attends la valeur de la variable “CB” OR dans onglet 2- la plage (A18:A22) renvoit à la variable “CF” et la ligne 20 renvoit à “op” et non "total R."Test.xlsx (15,4 Ko)

Re,
Et tu sûre que ton dernier fichier est complet :grinning:
15 secondes de visionnage, moi je trouve déjà un oubli :kissing_closed_eyes:

Il faut prendre son temps pour éviter de “patauger” durant 50 post pour arriver à un final
Regarde un peu dans les parties “CF” des deux onglets il manquerait pas une ligne :kissing_smiling_eyes:

Et pour finir, pas besoin de VBA pour ce travail, de simple formules feront l’affaire, sauf si tout n’est pas expliqué

Oui, j’ai volontairement retiré car CF ne comporte que 3 sous variables “op/mar/cont” (et CB de même “op/cont/cred”).
Ce que je propose est simplifié, dans la réalité les sources proviennent de plusieurs onglets.
J’aimerai juste que vous m’aidiez à comprendre quelles fonctions alternatives je pourrai utiliser pour rechercher la valeur “cont/cre/mar/op” à chaque fois pour CC/GA/CB/CF sans avoir à indiquer le numéro de ligne ou colonne.

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.